Spring boot 简化Spring Boot应用程序的docker构建和部署过程
我正在使用docker部署spring boot应用程序。 所以首先我使用Spring boot 简化Spring Boot应用程序的docker构建和部署过程,spring-boot,docker,dockerfile,dockerhub,Spring Boot,Docker,Dockerfile,Dockerhub,我正在使用docker部署spring boot应用程序。 所以首先我使用 1。mvn包 在Docker文件的指定目录中创建jar文件 然后我删除先前创建的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:T
1。mvn包
在Docker文件的指定目录中创建jar文件
然后我删除先前创建的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
这一切似乎都很乏味和陈词滥调。是否有更好、更简单的方法来执行此操作。您可以使用。将类似的配置添加到您的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>
com.spotify
有关详细信息。请使用Jenkins自动化所有这些我已尝试过此操作,但收到此错误,原因是:com.spotify.docker.client.exceptions.DockerException:denied:请求的资源访问被拒绝您知道如何修复此问题吗,我已使用docker Login登录我已编辑了我的答案。将和元素添加到元素中。有关详细信息,请阅读专用页面。如果需要,还可以在settings.xml
中存储凭据。