Docker 配置
修改 Docker 配置
#vi /usr/lib/systemd/system/docker.service
将 ExecStart 这一行后面修改为 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 注意这里就是 0.0.0.0 不要修改
# 重新加载配置文件
# systemctl daemon-reload
# 重启 Docker
# systemctl restart docker
查看 Docker 是否在监听 2375 端口
netstat -anp|grep 2375
curl 127.0.0.1:2375/info
Maven 配置
在 pom 文件中添加插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>myproject/test:0.0.1</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://你的Doker IP :2375</dockerHost>
</configuration>
</plugin>
简要说明一下插件的配置:
① imageName:用于指定镜像名称,其中itmuch是仓库名称,microservice-discovery-eureka是镜像名称,0.0.1是标签名称。
② baseImage:用于指定基础镜像,类似于Dockerfile中的FROM指令。
③ entrypoint:类似于Dockerfile的ENTRYPOINT指令。
④ resources.resource.directory:用于指定需要复制的根目录,${project.build.directory}表示target目录。⑤ resources.resource.include:用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。
dockerHost 指定你的 Docker 服务器监听的端口
运行命令打包
mvn clean package docker:build
可以看到 Docker 镜像已经被推送上服务器了