DockerMaven插件部署springboot

這種方式是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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章