简化Docker构建和部署Spring Boot应用程序的过程

时间:2019-06-02 07:22:54

标签: spring-boot docker dockerfile dockerhub

我正在使用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

这一切看起来都很累人而且很简单。是否有更好且简化的方式来执行此操作。

1 个答案:

答案 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了解详情。