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