這種方式是DockerMaven+Dockerfile的方式進行部署的,因爲通過Dockerfile比較清晰的、可維護
1. 修改宿主機的docker配置,讓其可以遠程訪問
vi /lib/systemd/system/docker.service
其中ExecStart=後添加配置
‐H tcp://0.0.0.0:2375 ‐H unix:///var/run/docker.sock
2.刷新配置,重啓服務
systemctl daemon‐reload
systemctl restart docker
docker start registry
3.在工程pom.xml 增加配置
<build>
<!--<finalName>app</finalName>-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<!--鏡像名稱以及版本號-->
<imageName>127.0.0.1:5000/${project.artifactId}:${project.version}</imageName>
<!--Dockerfile所屬目錄-->
<dockerDirectory>${project.basedir}</dockerDirectory>
<!-- 這裏是複製 jar 包到 docker 容器指定目錄配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<!-- docker私服的地址 -->
<dockerHost>http://127.0.0.1:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
4.編寫Dockerfile
FROM java:8
MAINTAINER majiatao
ADD dockerdemo-0.0.1.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
5.執行命令
#一定先執行該命令,否則報ADD failed: stat /var/lib/docker/tmp/docker-builder824141333/app.jar: no such file or directory
mvn package
mvn docker:build -DpushImage #打包成鏡像並傳到私有倉庫
#以上命令可以合併爲 mvn package docker:build -DpushImage