我正在使用Docker部署Spring Boot应用程序。 所以首先我用
1. mvn package
在Docker文件的指定目录中创建一个jar文件。
然后我删除以前创建的docker映像文件,构建一个新的docker映像文件,标记一个,然后推送
2. docker image ls
3. docker image rm -f IMAGE_ID
4. docker build --tag=APP_NAME .
5. docker tag APP_NAME DOCKER_HUB_REPO/DOCKER_HUB_PROJECT:TAG
6. docker push DOCKER_HUB_REPO/DOCKER_HUB_PROJECT:TAG
然后我去服务器并停止正在运行的容器,删除先前创建的映像,然后部署新创建的映像
7. docker ps
8. docker stop CONTAINER_ID
9. docker image ls
10. docker image rm -f IMAGE_ID
11. docker run -d -p PORT:PORT DOCKER_HUB_REPO/DOCKER_HUB_PROJECT:TAG
这一切看起来都很累人而且很简单。是否有更好且简化的方式来执行此操作。
答案 0 :(得分:1)
您可以使用Dockerfile Maven plugin。向您的pom.xml
添加类似的配置:
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>${dockerfile-maven-version}</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<username>repoUserName</username>
<password>repoPassword</password>
<repository>spotify/foobar</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
然后使用mvn deploy
将构建您的Docker映像。阅读documentation了解详情。