一、通过插件方式
代码:
1 | /** |
1 | server: |
Pom:
1 |
|
Dockerfile:
1 | FROM openjdk:8-jdk-alpine |
首先,保证 通过mvn package 打包运行,没有问题。
再进行构建镜像:
1 | PS D:\java-workspaces\idea-work\spring-boot-sample-demo\docker-demo> mvn package docker:build |
查看镜像:
1 | PS D:\java-workspaces\idea-work\spring-boot-sample-demo\docker-demo> docker images |
运行:
1 | PS D:\java-workspaces\idea-work\spring-boot-sample-demo\docker-demo> docker run --name docker-demo-springboot -p 8000:8000 b3ca1f38330a |
启动完成后;就可以访问。
遇到的问题:
1 | [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project docker-demo: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:2375 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect -> [Help 1] |
设置下docker
二、普通方式
上面的Dockerfile 和 springBoot 打包的项目(可以在pom中去掉docker插件)docker-demo-1.0-SNAPSHOT.jar放到一个目录中
执行指令:docker build -t hu-docker-demo .
执行docker build命令,docker就会根据Dockerfile里你定义好的命令进行构建新的镜像。
-t :指定要创建的目标镜像名 名字:镜像的tag
.代表当前目录,也就是Dockerfile所在的目录,可以指定Dockerfile 的绝对路径。
1 | PS D:\java-workspaces\idea-work\spring-boot-sample-demo\docker-demo\1111> docker build -t hu-docker-demo . |
完成!
提交镜像到hub.docker.com网站;
执行docker login登录,期间会要求输入用户名和密码;
执行命令docker push hu-docker-demo,即可将本地镜像push到hub.docker.com; 注意镜像名称的前缀,例如我这里的前缀是bolingcavalry,要和账号保持一致;
提交成功后,在hub.docker.com网站即可看到此镜像,如下图,此时任何人都可以pull来下使用了