部署代码服务遇到Docker部署方式时,可以用Dockerfile方式进行代码包的镜像封装及下载、导入导出。本文介绍一下使用Dockerfile方式进行Docker images封装、导入、导出。
一、后端java程序包镜像封装
在Linux服务器上,如果有Docker及jdk镜像时,可以将我们的代码包(***.jar)放入服务器中(建议空目录中) 然后在同级目录下创建一个Dockerfile文件,在文件中添加一下封装镜像属性,启动命令等 如下 ↓
FROM jdk:1.8
# 维护者信息
MAINTAINER Yjw# 将jar包添加到容器
ADD *****.jar app.jar# 定义容器启动执行的命令
CMD java -jar -Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxPermSize=512M app.jar
其中 ***.jar 为需要打入镜像的代码jar包名,根据实际情况修改;
CMD为镜像启动时会执行的脚本,一般为启动命令。
-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxPermSize=512M 为服务启动时分配的内存资源,可以不写;
配置完成后保存,当前文件夹下会有两个文件 Dockerfile 及 需要打镜像的代码包。
然后在当前文件夹下执行命令 ↓ 即可
docker build -f Dockerfile -t ***:1.0 .
其中 *** 为镜像名称 冒号后为 镜像 tag 版本
执行完成后 使用 docker images 命令可看到刚刚封装的镜像
二、前端程序包镜像封装
同理 前端的 Dockerfile 文件配置如下
FROM nginx:latest
COPY dt3d-nginx.conf /etc/nginx/conf.d/
COPY tmp /home/#CMD systemctl start nginx.servic
但是在同级文件夹下 需要创建 nginx.conf 配置文件 用来跳转到前端打包后的静态文件夹下。
三、镜像导入及导出
当镜像封装完后,docker images 可查到后
执行命令 docker save ***:1.0> ***.tar 即可将需要的镜像包下载保存到当前文件夹中。(*** 为镜像名称)
执行 docker load<***.tar 命令 可以将封装好的镜像进行导入启动。