# docker_demo1 **Repository Path**: tangdou89/docker_demo1 ## Basic Information - **Project Name**: docker_demo1 - **Description**: idea快速实现将SpringBoot项目打包Docker镜像并部署 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-04 - **Last Updated**: 2022-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 配置docker ## 修改docker的配置文件 修改文件信息路径如下: ```cmd /etc/docker/daemon.json ``` 在配置文件中添加以下内容: ```cmd "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] ``` 注意:如果没有这个daemon.json,就自己在/etc/docker/目录下创建一个 ```cmd touch daemon.json ``` 修改完成之后依次执行以下命令: ```cmd #重新加载配置文件 systemctl daemon-reload # 重启服务 systemctl restart docker.service # 查看端口是否开启 默认端口2375 netstat -anp|grep 2375 ``` ## 配置端口开放 ```cmd #添加指定需要开放的端口: firewall-cmd --zone=public --add-port=2375/tcp --permanent #重载入添加的端口: firewall-cmd --reload #查询指定端口是否开启成功: firewall-cmd --query-port=2375/tcp ``` 注意:以上配置全是在防火墙开启的情况下进行,如果未开启系统防火墙,则无需以上配置,比如我的服务器就 没有配置防火墙,运行时则显示以下信息: 最后我们看看我们的配置是否生效 ```cmd curl http://127.0.0.1:2375/info ``` ![](https://img-blog.csdnimg.cn/e96d8f48c9024cebaac4c2eb565939de.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWk5pbmVTdW4=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) # idea 安装docker插件 如果你的idea版本较高,则内置了docker插件 ## 安装 ![](https://img-blog.csdnimg.cn/0c51b03ed0ba41f0a48a4fbddded1ab7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWk5pbmVTdW4=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) ![](https://img-blog.csdnimg.cn/c75bfbf93034416eaba9b5eeddfa89a8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWk5pbmVTdW4=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) ## IDEA配置docker ![](https://img-blog.csdnimg.cn/f571fd157b5e44d98edb4d4cc4219984.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWk5pbmVTdW4=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) 注意:我上面的192.168.1.2是我自己的服务器Ip,只需修改成你的docker所在服务器ip即可 点击Apply之后会在你的service中弹出 点击连接,我们就会发现我们docker配置的容器信息 ![](https://img-blog.csdnimg.cn/7e7d0a22d20e4f0792a8f2e822979b2f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWk5pbmVTdW4=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) # springboot集成 ## 安装pom插件 ```xml com.spotify docker-maven-plugin 1.0.0 ${project.artifactId} latest ascdc/jdk8 371525279@qq.com /ROOT ["java", "-version"] ["java", "-jar", "${project.build.finalName}.jar"] http://192.168.179.130:2375 /ROOT ${project.build.directory} ${project.build.finalName}.jar ``` ## dockerfile ```dockerfile #这是基础镜像 FROM ascdc/jdk8 # 作者 MAINTAINER tangtao VOLUME /ROOT #复制jar包到镜像中,并且将名字改成app.jar 注意./target是相对路径(与Dockerfile文件存放位置有关(Dockerfile->docker_boot-0.0.1-SNAPSHOT.jar相对路径)) ADD target/docker-demo1-0.0.1-SNAPSHOT.jar /ROOT/docker-demo1-0.0.1-SNAPSHOT.jar #暴露8889端口作为微服务 EXPOSE 8889 #在容器启动的时候运行命令 ENTRYPOINT ["java","-jar","/ROOT/docker-demo1-0.0.1-SNAPSHOT.jar"] CMD ["java", "-version"] ``` **注意:dockerfile和maven插件中参数需要对应** # 打包发布 ## 打包 ```cmd maven clean install maven docker:build ``` ## 删除容器并重新添加、启动 ![image-20221108113436091](E:\自整理文档\self-organizing-documents\11.docker\idea-docker-springboot.assets\image-20221108113436091.png) ## 配置端口 1. 选择容器 2. edit configuration 3. bind ports 4. + 5. ..... 6. ok 7. ok ![image-20221108113538071](E:\自整理文档\self-organizing-documents\11.docker\idea-docker-springboot.assets\image-20221108113538071.png) ![image-20221108113550656](E:\自整理文档\self-organizing-documents\11.docker\idea-docker-springboot.assets\image-20221108113550656.png)