制作docker过程记录
制作build的tar包
安装docker
主服务器需按装docker version:19.03.12
编写Dockerfile
# OpenJDK 11 镜像作为基础镜像
FROM dragonwell-registry.cn-hangzhou.cr.aliyuncs.com/dragonwell/dragonwell:11
# 安装常用基础命令
ENV LANG=C.UTF-8 TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 创建一个工作目录
WORKDIR /app
# 将本地的 JAR 文件添加到容器中,并更名为app.jar
ADD riil-project-1.0.0-SNAPSHOT.jar app.jar
# 暴露 Spring Boot 应用运行的端口号
EXPOSE 8088
# 定义容器启动时运行的命令
ENTRYPOINT ["nohup","java", "--add-opens", "java.base/jdk.internal.loader=ALL-UNNAMED","-jar", "app.jar"]
上传文件
将Dockerfile和riil-project-1.0.0-SNAPSHOT.jar文件上传至同一文件夹(riil-project-docker)中
打包成镜像
在riil-project-docker目录下执行 Dockerfile ,将其打成镜像
docker build -t project-docker:1.0.0 .
# 或者
docker build -t project-docker:1.0.0 -f Dockerfile .
查看是否成功打成镜像

运行镜像
docker run -d -e HOSTNAME=172.17.163.197 -p 8080:8088 --name project-docker --restart=always project-docker:1.0.0
参数解析: docker run ==> 执行运行命令 -d ==> 表示后台运行 -p ==> 端口映射【外部访问的端口】:【容器提供服务的端口】 -e ==> 环境变量设置(需要设置一个HOSTNAME的环境变量) --name ==> 运行镜像后的容器名称 --restart ==> always无论退出状态如何,总是重启 --- 可作为自启动使用 project-docker:1.0.0 ==> 运行镜像及版本
使用命令查看容器运行状态

也可以使用http://IP:8080验证
打包成tar
docker save -o project-docker.tar project-docker:1.0.0

移植使用
load压缩tar包成为镜像
docker load -i project-docker.tar
查看镜像

运行镜像
docker run -d -e HOSTNAME=172.17.162.146 -p 8080:8088 --name project-docker --restart=always project-docker:1.0.0

其他
停用docker容器
# 查看容器ID
docker ps | grep project-docker
# 停用容器
docker rm -f bdf0071217e7
删除image镜像
# 查看镜像ID
docker images | grep project-docker
# 停用容器
docker rmi -f bdf0071217e7

浙公网安备 33010602011771号