IDEA集成Docker的快捷部署

353 阅读2分钟

前提要服务器的Docker开启远程连接

第一步:配置Docker的远程访问

1、修改/lib/systemd/system/docker.service
vim /lib/systemd/system/docker.service
2、替换ExecStart
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
替换为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
3、重启Docker服务
systemctl daemon-reload
systemctl restart docker
4、查看2375端口是否被监听
netstat -nlpt
5、服务器防火墙开启2375端口
firewall-cmd --add-port=2375/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
6、测试

在控制台输入:curl http://127.0.0.1:2375/version,会显示下面的信息

在自己电脑上将上面的127.0.0.1换成你服务器的ip地址

如果不能访问,那么需要在服务器的管理控制台添加安全组规则,我的服务器是阿里云的。添加开放2375端口。如下图

之后在用浏览器访问,效果如下

第二步:IDEA中配置Docker插件信息

打开设置中心

之后可能出现连接失败的问题,下面这样,原因就是你没有做我上面在服务器控制台添加安全组规则

正常情况效果如下:

之后可以配置镜像加速器

点击OK之后,下方控制栏,出现Docker控制台

第三步:集成Maven插件

修改项目的pom文件

 <properties>
  <!--docker镜像的前缀-->
  <docker.image.prefix>docker</docker.image.prefix>
 </properties>
<plugin>
 <groupId>com.spotify</groupId>
 <artifactId>docker-maven-plugin</artifactId>
 <version>1.0.0</version>

 <configuration>
  <!--远程Docker的地址-->
  <dockerHost>http://服务器地址:2375</dockerHost>
  <!--镜像名称,前缀/项目名-->
  <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
  <dockerDirectory>src/main/docker</dockerDirectory>
  <resources>
   <resource>
    <targetPath>/</targetPath>
    <directory>${project.build.directory}</directory>
    <include>${project.build.finalName}.jar</include>
   </resource>
  </resources>
 </configuration>
</plugin>

在src的main下新建docker文件夹,将编写好的Dockerfile放到这个文件夹

第四步:构建镜像

依次使用 clean、package、docker:build 命令

最后一步的效果

查看Docker控制台

第五步:创建容器

Docker控制台选中镜像右键,点击创建镜像,填写参数,点击run

这里点击run,启动container的时候可能会出现出现iptables: No chain/target/match by that name。容器启动失败的问题。只需要重启一下docker服务就行。

一些日志和配置信息

浏览器访问服务器的8080端口