docker 创建镜像 java里面有插件可以使用,但是像python是没有插件的(也许是我没有找到),所以这里记录两种创建镜像的方式。
1、创建镜像首先需要编写Dockerfile文件 注意这里没有文件名的后缀,不是什么.txt之类的 还有文件名不要写错 大小写要一模一样
FROM python:3.8.8-alpine3.13 #基础镜像 alpine是属于比较小的那种类型
add . /code
WORKDIR /code
RUN pip install -r requirements.txt
EXPOSE 8080
CMD ["python3.8.8", "__init__.py", "runserver", "0.0.0.0:8080"]
2、创建好Dockerfile之后将项目放到有docker环境的地址 然后将执行
docker build -t name . //name是项目的名字 .是Dockerfile所在的文件夹 这里表示的是当前文件夹
执行完成之后docker images 查看镜像 docker tag oldimgName newImgName 修改版本号,然后上传到对应的镜像仓库
镜像的名字需要: 仓库名/镜像名字
上传到私有仓库操作: docker login url url是私有仓库的地址
3、java项目打包镜像 使用的是com.google.cloud.tools插件
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.2.0</version>
<configuration>
<from>
<image>基础镜像</image>
</from>
<to>
<auth>
<username>账户名</username>
<password>账户密码</password>
</auth>
<image>仓库地址/${project.artifactId}</image>
<tags>${project.version}</tags>
</to>
<container>
<creationTime>USE_CURRENT_TIMESTAMP</creationTime>
<jvmFlags>
<jvmFlag>-Duser.timezone=Asia/Shanghai</jvmFlag>
<jvmFlag>-Dfile.encoding=UTF-8</jvmFlag>
<jvmFlag>-Xdebug</jvmFlag>
<jvmFlag>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8081</jvmFlag>
</jvmFlags>
<ports>
<port>80</port>
<port>8081</port>
</ports>
</container>
</configuration>
</plugin>