首先在服务器开通2375端口
vi /usr/lib/systemd/system/docker.service
在ExecStart这一行,后面加上-H tcp://0.0.0.0:2375
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
保存,然后执行下面的命令
systemctl daemon-reload
systemctl restart docker
下面是springboot项目所需内容
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>dk</artifactId>
<version>1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!--properties节点中设置docker镜像的前缀“自定义”-->
<docker.image.prefix>zdy</docker.image.prefix>
<java.version>1.8</java.version>
</properties>
<build>
<!--项目打包的名称-->
<finalName>dk</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- tag::plugin[] -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<!--远程机器外网ip,docker 开启2375端口,提供外部访问docker-->
<dockerHost>http://192.168.48.129:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- end::plugin[] -->
</plugins>
<!--<finalName>gs-spring-boot-docker-master</finalName>-->
</build>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Dockerfile文件内容,文件一定要放在src\main\docker目录下面
#拉取jdk
FROM java:8
#吧当前生成好的dk.jar 放到容器根目录 并改个名字 叫app.jar
ADD dk.jar app.jar
#要指定暴露外部的端口
EXPOSE 8090
#执行命令 启动项目
ENTRYPOINT ["java","-jar","app.jar"]
然后开始编译,打包,构建docker镜像 按照顺序来
最后显示下面的结果代表构建成功
然后我们在打开服务器,查看镜像 ,看到成功显示出来了
然后执行发版命令(备注:dk是容器的名字,你可以改成 你的,zdy/dk 是镜像的名字,在springboot的pom.xml里面配置的)
docker stop dk
docker rm dk
docker run -d -p 8090:8090 --name dk -it zdy/dk
docker ps -l
最后打开浏览器 看到效果,成功显示