使用 idea 命令行构建 Docker 镜像并部署到云服务器

一、准备 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
相关推荐
小p24 分钟前
docker学习3:docker是怎么实现的?
docker
小兵张健1 小时前
Playwright MCP 截图标注方案调研(推荐方案1)
前端·javascript·github
哈基咪怎么可能是AI4 小时前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行21 小时前
Linux和window共享文件夹
linux
九狼1 天前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
逛逛GitHub1 天前
4 个热门的 GitHub 开源项目
github
程序员鱼皮1 天前
GitHub 关注突破 2w,我总结了 10 个涨星涨粉技巧!
前端·后端·github