一、准备 Dockerfile
在项目根目录创建 Dockerfile:
FROM eclipse-temurin:8-jre-alpine
MAINTAINER waituibao@163.com
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN mkdir -p /waituibao-mobile-login
WORKDIR /waituibao-mobile-login
EXPOSE 7001
# 拷贝 Jar 包
ADD ./target/waituibao-mobile-login-1.0.0.jar ./
# 启动命令
CMD sleep 1;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar waituibao-mobile-login-1.0.0.jar
二、构建项目 Jar 包
在 IDEA 底部 Terminal 命令行执行:
mvn clean package -DskipTests
构建成功后,Jar 会出现在:
target/waituibao-mobile-login-1.0.0.jar
三、构建 Docker 镜像
在 IDEA 底部 Terminal 命令行执行:
docker build -t waituibao-mobile-login .
构建成功后可查看镜像:
docker images
输出示例:
REPOSITORY TAG IMAGE ID CREATED SIZE
waituibao-mobile-login latest 6e0addab0c47 2 minutes ago 480MB
四、导出镜像为 .tar 文件
在 IDEA 底部 Terminal 命令行执行:
docker save -o waituibao-mobile-login.tar waituibao-mobile-login
此文件即可上传到服务器。
五、上传镜像到服务器
把 waituibao-mobile-login.tar 上传到服务器目录:
/root/docker/p-images/
六、在服务器导入镜像
连接服务器后执行:
docker load -i /root/docker/p-images/waituibao-mobile-login.tar
导入成功后使用:
docker images
查看本地镜像是否存在。
七、启动容器
方式一:普通启动
docker run -d --name waituibao-mobile-login -p 7002:7002 waituibao-mobile-login:latest
方式二:指定网络启动
如果项目需要服务间(微服务)互相调用(例如需要访问 Redis、MySQL 等),可以加入已有 Docker 网络:
docker run -d --name waituibao-mobile-login --network waituibao_boot -p 7002:7002 waituibao-mobile-login:latest
容器启动后即可访问:
http://服务器IP:7002