使用 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
相关推荐
Phil3231 小时前
开源一个 Windows 实时面试助手:听译、置顶提词、按需生成英文稿
面试·github
ARM|X86+FPGA工业主板厂家1 小时前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
sulikey1 小时前
Linux 粘滞位(Sticky Bit)完全指南:为什么共享目录需要“防删除“?
linux·服务器
mengge.cloud1 小时前
网络技术基础小白教程
linux·服务器·网络·云计算
千纸鹤1901 小时前
Kafka vs RabbitMQ:在秒杀场景下如何选型与
github
学代码的CJY2 小时前
Linux 重定向、管道与环境变量
linux·spring boot·spring
treacle田2 小时前
达梦数据库-Linux DM数据守护主备集群缩改为单机-记录总结
linux·服务器·数据库·主备集群改单机
左青2 小时前
零 token 发布 npm 包:Trusted Publisher + OIDC 实战(附五个真实的坑)
github
编程快车2 小时前
GitHub 从入门到精通(精炼版):30 分钟跑通建仓、提交与协作
github
WebInfra3 小时前
Rslib 1.0 正式发布:面向多场景的 JavaScript 库开发工具
前端·javascript·github