持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情
Docker项目部署(后端)
①预处理项目
先去
pom.xml文件处,检查version标签是否带有SNAPSHOT字段,若带有则去掉,否则再封装成镜像时会报错
选择packaging成jar包
②项目打包
点maven——点package
③导入云服务器
拿到jar包上传云服务器
对于特定项目的镜像制作可以放在特定的文件夹(这里用的是自建的app文件夹)
④编写dockerfile文件
dockerfile文件用于编写制作镜像执行的命令
vim dockerfile在dockerfile中添加如下命令
FROM java:8 EXPOSE 8088 VOLUME /tmp ENV TZ=Asia/Shanghai RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" > /etc/timezone ADD zkdcms-0.0.1.jar app.jar RUN bash -c 'touch /app.jar' # CMD java -jar app.jar ENTRYPOINT ["java","-jar","/app.jar"]务必按照zkdcms-0.0.1.jar 这种格式,多个就在打包处cut掉
解释:
FROM java:8 表示基于jdk8环境
EXPOSE 8088 表示对外暴露的端口是8088
- VOLUME /tmp 表示挂载到/tmp目录
ADD zkdcms-0.0.1.jar app.jar 表示把jar包复制到镜像服务里面的根目录,并改名称app.jar
RUN bash -c 'touch /app.jar' 表示执行创建app.jar
ENTRYPOINT ["java","-jar","/app.jar"] 表示执行启动命令java -jar
⑤创建镜像
docker build -t app5.22.1 .
app1.0为自定义的创建好的镜像的名字
⑥创建并启动容器
docker run -p 8088:8088 --name app5.22.1 --link mysql8.0:emysql --link myredis:eredis -d app5.22.1:latest
app为自定义的容器名字
app1.0:latest为当前镜像及版本
⑦查看其内部日志
docker logs -f app4.28
docker logs -f -t --tail=100 CONTAINER_ID
\