开启docker容器的远程访问
#编辑docker配置文件
vim /usr/lib/systemd/system/docker.service
#修改ExecStart行为下面内容
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
#重新加载docker配置
systemctl daemon-reload // 1,加载docker守护线程
systemctl restart docker // 2,重启docker
配置项目的pom.xml
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!-- 镜像名称及版本 --><imageName>${docker.repostory}/${docker.registry.name}/${project.artifactId}:${project.version}</imageName>
<!-- 指定Dockerfile所在的路径 -->
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<!-- docker容器的地址 -->
<dockerHost>http://192.168.208.24:2375</dockerHost>
<!-- 需要打包的本地资源 -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
配置项目的Dockerfile
Dockerfile内容
FROM openjdk:8-jdk-alpine
ADD pjsl.jar pjsl.jar
EXPOSE 9092
ENTRYPOINT ["java", "-jar", "pjsl.jar"]
CMD echo "xx项目开始运行!"
打包上传
"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" -Dmaven.multiModuleProjectDirectory=D:\work\workspace\idea\pjsl -Dmaven.home=D:\work\apache-maven-3.6.1 -Dclassworlds.conf=D:\work\apache-maven-3.6.1\bin\m2.conf "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.1\lib\idea_rt.jar=64641:C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.1\bin" -Dfile.encoding=UTF-8 -classpath D:\work\apache-maven-3.6.1\boot\plexus-classworlds-2.6.0.jar org.codehaus.classworlds.Launcher -Didea.version2019.1.1 -s C:\Users\tang_\.m2\settings.xml -Dmaven.repo.local=C:\Users\tang_\.m2\repository com.spotify:docker-maven-plugin:1.0.0:build
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.bootdo:pjsl:jar:1.0.0
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.apache.poi:poi-ooxml:jar -> version 3.9 vs 4.0.1 @ line 340, column 21
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] --------------------------< com.bootdo:pjsl >---------------------------
[INFO] Building pjsl 1.0.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- docker-maven-plugin:1.0.0:build (default-cli) @ pjsl ---
[INFO] Using authentication suppliers: [ConfigFileRegistryAuthSupplier]
[INFO] Copying D:\work\workspace\idea\pjsl\target\pjsl.jar -> D:\work\workspace\idea\pjsl\target\docker\pjsl.jar
[INFO] Copying D:\work\workspace\idea\pjsl\src\main\docker\Dockerfile -> D:\work\workspace\idea\pjsl\target\docker\Dockerfile
[INFO] Building image 192.168.208.24/test/pjsl:1.0.0
Step 1/5 : FROM openjdk:8-jdk-alpine
---> a3562aa0b991
Step 2/5 : ADD pjsl.jar pjsl.jar
---> 5021e113b159
Step 3/5 : EXPOSE 9092
---> Running in 82245c8840a0
Removing intermediate container 82245c8840a0
---> 1e723cb0f917
Step 4/5 : ENTRYPOINT ["java", "-jar", "pjsl.jar"]
---> Running in d373e480408b
Removing intermediate container d373e480408b
---> 43d209a5d3c8
Step 5/5 : CMD echo "票均申领项目开始运行!"
---> Running in 3f96a1b9420e
Removing intermediate container 3f96a1b9420e
---> e5d73b205ed0
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built e5d73b205ed0
Successfully tagged 192.168.208.24/test/pjsl:1.0.0
[INFO] Built 192.168.208.24/test/pjsl:1.0.0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.976 s
[INFO] Finished at: 2020-05-20T11:21:41+08:00
[INFO] ------------------------------------------------------------------------
Process finished with exit code 0