环境准备:
- idea 环境:IntelliJ IDEA 2021.3.1 (Ultimate Edition)
- docker 版本:v. 26.1.0
- 准备 springboot jar 文件 :target/DockerDemo-0.0.1-SNAPSHOT.jar
- docker 可视化管理工具 portainer :v2.6.0
一. 配置docker远程访问
1.在linux系统中查找docker.service文件,使用命令:find / -name docker.service
2.编辑 /usr/lib/systemd/system/docker.service文件,在ExecStart=/usr/bin/dockerd后面添加 -H tcp://0.0.0.0:2375
二. 配置 远程docker 服务连接
-
安装docker插件
File->Settings->Plugins
-
在 idea 文件-》设置 菜单中打开对话框,配置 docker 服务地址及端口号(默认 2375),并连接测试。
三. 编写 Dockerfile 文件
在 项目 pom 同级目录中 添加 Dockerfile 文件
#先初始化Java环境;
FROM openjdk:8
#设置一个临时目录,项目运行时tomcat需要;
VOLUME /tmp/tomcat
#定义 端口
EXPOSE 8889
#将jar包复制并且重命名
ADD target/DockerDemo-0.0.1-SNAPSHOT.jar dockerDemo.jar
#编写运行时的命令
ENTRYPOINT ["java","-jar","/dockerDemo.jar"]
注:Dockerfile 规则 可以参考博客:Dockerfile文件详解
编辑 运行配置
运行配置文件
构建日志:
四. 测试访问服务地址
注:地址 ip 为docker 所在服务器地址
五、生产环境部署
- 导出 镜像文件 docker-demo.tar
docker save docker-demo:v0.0.2 -o D:\developsoft\docker\DockerDesktopWSL\data\images\docker-demo.tar
- 导入生产环境
- 方式一、使用 portainer 工具导入镜像
- 方式二、命令行导入镜像,上传 镜像文件到服务器 /root 目录
docker load -i /root/docker-demo.tar
- 创建并启动容器
docker run --name docker-demo-container -d \
--restart unless-stopped \
-p 8889:8889\
docker-demo:v0.0.2
- 访问并查看 服务
六. 问题记录
1.docker 环境无 Java 镜像 解决
#查找 Java 镜像
docker search openjdk
#拉取 Java 镜像
docker pull openjdk:8
2.端口映射 及创建容器
docker run -p 8889:8889 --name docker-demo-compose docker-demo:latest
参考博客:
IDEA之Docker部署项目篇 https://blog.csdn.net/weixin_42183288/article/details/124864681
docker 容器相关操作 详解 https://blog.csdn.net/qq_39237205/article/details/126501290
docker 容器与镜像区别详解 https://zhuanlan.zhihu.com/p/342894368
Docker 镜像拉取(以mysql 为例) https://blog.csdn.net/weixin_47560078/article/details/126189386