1. 概述
本文介绍一下如何将我们的spring微服务程序打包成 docker 镜像并运行,我们在linux 系统上进行打包,当然我们需要 先安装好 docker 环境。
2.打包步骤
2.1 准备微服务包
比如 jpaas-portal.jar
2.2.编制Dockerfile文件
//干净的openjdk 镜像,这个地址是虚拟的,根据实际镜像路径来
FROM docker.redxun.com.cn/java:openjdk-8u292-arm64
MAINTAINER 86279054@qq.com
//在镜像创建目录
RUN mkdir -p /home/jpaas
//设置工作目录
WORKDIR /home/jpaas
//暴露对外服务端
EXPOSE 7100
//将jar包添加到镜像
ADD ./jpaas-portal.jar ./jpaas-portal.jar
#设置时区
ENV TZ Asia/Shanghai
//设置命令执行命令入口
CMD ["java", "-jar", "/home/jpaas/jpaas-portal.jar"]
2.3 编译镜像
在编译镜像包之前请先安装好docker.
docker build -t 镜像名:tag .
docker build -t jpaas-portal:1.0 .
编译完成后,可以使用 docker images 查看编译的镜像。
删除镜像 可以使用 docker rmi -f 镜像名:tag
2.4 运行镜像
docker run --name jpaas-portal -e nacos.address=10.51.167.90:8848 -e nacos.namespace=local -d jpaas-portal:1.0
这里我们需要指定环境变量。我在运行的时候,发现镜像自动退出了。
可以使用如下方法观察问题。
docker ps -a
查看所有的容器,包括正在运行的和停止的。
使用 docker logs 容器ID
,查看容器运行情况,通过日志发现是 redis连接不上导致容器退出。
2.5 进入到容器内部查看容器情况
docker exec -it 6162feb9a6a8 bash
其中 6162feb9a6a8 是容器ID。
2.6.查看容器
我们可以使用 docker ps -a 查看停止的容器和活动的容器。
2.7.启动容器
除了使用 2.4启动容器外,我们也可以使用 docker start 容器id启动容器,使用 docker stop 容器ID停止容器。
使用docker rm -f 容器ID
,删除容器。
文档更新时间: 2022-01-13 15:08 作者:zyg