Idea集成Docker的快捷部署
配置Docker远程访问
1.1 修改 /lib/systemd/system/docker.service
vim /lib/systemd/system/docker.service
1.2 替换ExecStart
开启2375端口提供外部访问
将
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
1.3 重启docker服务
systemctl daemon-reload
systemctl restart docker
1.4 监听端口是否被占用
netstat -nlpt
1.5 服务器防火墙开启2375端口
firewall-cmd --add-port=2375/tcp --partment
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
1.6 测试
在控制台输入:curl http://127.0.0.1:2375/version
,会出现下面信息
在自己电脑上将127.0.0.1
换成服务器IP
浏览器上也可以
特别注意的点: 完全开放Docker对外访问权限有可能会遭到别人攻击,这是很不安全的,只要别人知道你的服务器地址就能够随意连接你的Docker服务,而不需要任何认证,因此,完全开放只推荐自己在内网使用,不推荐在云服务器上直接完全开放。(具体可以查看后面开启认证和通信加密)
配置IDEA
2.1 下载docker插件
2.2 添加docker连接
方式一:
方式二:
连接成功:
2.3 配置容器镜像加速器
阿里云获取加速器地址
2.4 配置项目pom.xml
在 pom.xml-properties 中添加 Docker 镜像名称
<properties>
<!-- docker镜像前缀 -->
<docker.image.prefix>hippoDocker</docker.image.prefix>
</properties>
plugins 中添加 Docker 构建插件:
<build>
<!-- 最终生成的jar包名 -->
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- 构建docker镜像插件 -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!-- 远程docker主机地址 -->
<dockerHost>http://139.159.199.172:2375</dockerHost>
<!-- docker镜像名称,默认为artifactId,前缀/项目名称 -->
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!-- Dockerfile路径 -->
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>