1、修改docker服务器配置文件
vim /usr/lib/systemd/system/docker.service
将ExecStart这一行后面加上 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock,改完后如下所示:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
注意:-H tcp://0.0.0.0:2375 是说你希望通过 2375/tcp 来操控你的 Docker 引擎,但是如果你没有加 --tlsverify 类的配置,就表明你的意图是允许任何人来操控你的 Docker 引擎。这是极其危险的,之前因为直接这样配置,就导致服务器收到了xmrig的挖矿蠕虫入侵。
所以这里一定要再配置TLS,具体操作可参见:https://www.jianshu.com/p/ed2a754c45cd
2、保存后退出,重新加载配置文件并重启docker
systemctl daemon-reload && systemctl restart docker
3、查看docker监听的端口是否已开启
netstat -anp|grep 2375
若无信息输出代表未开启,如上图代表已开启
4、查看远程API信息
curl 127.0.0.1:2375/info
若无信息输出代表docker远程API开启失败,如上图代表已开启成功
5、在本机windows系统环境变量中新建DOCKER_HOST,值为tcp://xxx.xxx.xxx.xxx:2375,(你改成你自己的docker服务器ip地址)
6、maven项目工程main目录下新增/docker/Dockerfile文件,同时需要将springboot配置文件中的IP改为docker服务器IP。
FROM java
VOLUME /tmp
ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar /app.jar
EXPOSE 8082
ENTRYPOINT ["java","-Djava.security.edg=file:/dev/./urandom","-jar","/app.jar"]
7、maven项目工程修改pom文件,build下新增插件:
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<imageName>eureka</imageName>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
8、执行指令打包镜像推送到docker服务器
mvn clean package docker:build