Docker容器化spring boot应用详解

2020-06-17 07:14:03易采站长站整理

这是因为我们在maven中push时,并没有包含docker的用户信息,所以权限校验失败。

解决方法为,在maven全局setting.xml配置中,添加docker hub server信息


<server>
<id>docker-hub</id>
<username>ithaka</username>
<password>密码</password>
<configuration>
<email>邮箱</email>
</configuration>
</server>

在pom.xml中的docker-maven-plugi插件中,指定server


<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<serverId>docker-hub</serverId>
</configuration>
</plugin>

再继续执行


mvn package docker:build -DpushImage

出现

The push refers to a repository [docker.io/ithaka/docker-app]8c02854cd300: Pushed
a03c3b5dbe04: Pushed
8018d52798bb: Pushed
1e6468b956ae: Pushed
3fb66f713c9f: Pushed

0.0.1: digest: sha256:63456345745755577c19103dcf4838894e34d45a68a1ec23b2f69d6f059 size: 1375

即为上传docker hub成功。

启动docker容器

在另外一台机器上,执行命令


docker run -p 8080:8080 -t ithaka/docker-app

访问http://ip:8080/ ,获得响应:


docker app running

docker应用启动成功

参考文档:

Spring Boot with Docker

docker-maven-plugin

您可能感兴趣的文章:Docker容器化部署尝试——多容器通信(node+mongoDB+nginx)详解利用ELK搭建Docker容器化应用日志中心使用Dockerfile部署nodejs服务的方法步骤Docker私有仓库管理和删除本地仓库中的镜像Docker上传镜像至私有仓库的方法示例Docker使用编写dockerfile启动node.js应用Docker 部署Django项目的方法示例Docker图文详解详解如何解决docker容器无法通过IP访问宿主机问题Docker大型项目容器化改造