{"id":15777387,"url":"https://github.com/v5tech/spring-boot-docker-example","last_synced_at":"2025-05-07T02:42:14.993Z","repository":{"id":149461778,"uuid":"94221787","full_name":"v5tech/spring-boot-docker-example","owner":"v5tech","description":"Demo project for Spring Boot Docker","archived":false,"fork":false,"pushed_at":"2017-07-01T01:41:03.000Z","size":121,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-11T18:02:17.325Z","etag":null,"topics":["docker-maven-plugin","harbor","maven-docker-plugin","spring-boot-docker"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/v5tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-06-13T14:26:34.000Z","updated_at":"2021-02-04T02:02:40.000Z","dependencies_parsed_at":"2024-02-08T17:20:18.563Z","dependency_job_id":"1106781d-8a73-4313-a5ab-e0fa72196961","html_url":"https://github.com/v5tech/spring-boot-docker-example","commit_stats":null,"previous_names":["v5tech/spring-boot-docker-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v5tech%2Fspring-boot-docker-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v5tech%2Fspring-boot-docker-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v5tech%2Fspring-boot-docker-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v5tech%2Fspring-boot-docker-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/v5tech","download_url":"https://codeload.github.com/v5tech/spring-boot-docker-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252802580,"owners_count":21806530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-maven-plugin","harbor","maven-docker-plugin","spring-boot-docker"],"created_at":"2024-10-04T18:00:31.245Z","updated_at":"2025-05-07T02:42:14.954Z","avatar_url":"https://github.com/v5tech.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spring-boot-docker-example\n\n### 1、spotify公司docker-maven-plugin使用\n\n* build\n\n```bash\nmvn clean package docker:build\n```\n* build \u0026 push\n\n```bash\nmvn clean package docker:build -DpushImage\n```\n\n### 2、fabric8公司docker-maven-plugin使用\n\n* build\n\n```bash\nmvn clean package docker:build\n```\n* run\n\n```bash\nmvn clean package docker:build docker:run\n```\n* stop\n\n```bash\nmvn docker:stop\n```\n\n### 3、docker-compose\n\n`docker-compose.yml`文件中使用到了`ameizi/spring-boot-docker-example`镜像，因此首先需要进行`ameizi/spring-boot-docker-example`镜像的构建\n\n在`docker-compose.yml`目录中执行如下命令\n\n```bash\ndocker-compose up -d\n```\n\n```bash\ndocker-compose stop\n```\n\n### 4、配合私服使用\n\nspotify插件使用注意事项\n\n1、在settings.xml文件中做如下配置\n\n```\n\u003cserver\u003e\n    \u003cid\u003eregistry.ameizi.me\u003c/id\u003e\n    \u003cusername\u003eadmin\u003c/username\u003e\n    \u003cpassword\u003eadmin\u003c/password\u003e\n    \u003cconfiguration\u003e\n        \u003cemail\u003esxyx2008@163.com\u003c/email\u003e\n    \u003c/configuration\u003e\n\u003c/server\u003e\n```\n\n其中`registry.ameizi.me`与pom.xml中的`serverId`一致\n\n2、设置`DOCKER_HOST`环境变量\n\n```\nset DOCKER_HOST=tcp://registry.ameizi.me:2376\n```\n\n3、构建并推送到私服\n\n```\nC:\\Users\\Administrator\\Desktop\\spring-boot-docker-example\u003emvn com.spotify:docker-maven-plugin:build\n[INFO] Scanning for projects...\n[INFO]\n[INFO] ------------------------------------------------------------------------\n[INFO] Building spring-boot-docker-example 1.0\n[INFO] ------------------------------------------------------------------------\n[INFO]\n[INFO] --- docker-maven-plugin:0.4.13:build (default-cli) @ spring-boot-docker-example ---\n[INFO] Copying C:\\Users\\Administrator\\Desktop\\spring-boot-docker-example\\target\\spring-boot-docker-example-1.0.jar -\u003e C:\\Users\\Administrator\\Desktop\\spring-boo\nt-docker-example\\target\\docker\\spring-boot-docker-example-1.0.jar\n[INFO] Copying src\\main\\docker\\Dockerfile -\u003e C:\\Users\\Administrator\\Desktop\\spring-boot-docker-example\\target\\docker\\Dockerfile\n[INFO] Building image registry.ameizi.me/library/spring-boot-docker-example:1.0\nStep 1/6 : FROM openjdk:latest\n ---\u003e ab0ecda9094c\nStep 2/6 : VOLUME /tmp\n ---\u003e Using cache\n ---\u003e ceb5a4228911\nStep 3/6 : ADD *.jar app.jar\n ---\u003e Using cache\n ---\u003e 4716db640540\nStep 4/6 : RUN sh -c 'touch /app.jar'\n ---\u003e Using cache\n ---\u003e da718a6318c8\nStep 5/6 : ENV JAVA_OPTS \"\"\n ---\u003e Using cache\n ---\u003e f7ecdabe32b7\nStep 6/6 : ENTRYPOINT sh -c java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar\n ---\u003e Using cache\n ---\u003e 71176ceebe9e\nSuccessfully built 71176ceebe9e\n[INFO] Built registry.ameizi.me/library/spring-boot-docker-example:1.0\n[INFO] Tagging registry.ameizi.me/library/spring-boot-docker-example:1.0 with latest\n[INFO] Tagging registry.ameizi.me/library/spring-boot-docker-example:1.0 with 1.0\n[INFO] Pushing registry.ameizi.me/library/spring-boot-docker-example:1.0\nThe push refers to a repository [registry.ameizi.me/library/spring-boot-docker-example]\na1f3a5dbf033: Preparing\nde474ef140e0: Preparing\nbfee0515af91: Preparing\n2afcf4c557eb: Preparing\n72cfa243711c: Preparing\n9bf603e17b04: Preparing\n70b22baddf90: Preparing\n596ecbaf3ba4: Preparing\n445ed6ee6867: Preparing\nc59fa6cbcbd9: Preparing\n8d4d1ab5ff74: Preparing\n9bf603e17b04: Waiting\n70b22baddf90: Waiting\n596ecbaf3ba4: Waiting\n445ed6ee6867: Waiting\nc59fa6cbcbd9: Waiting\n8d4d1ab5ff74: Waiting\n2afcf4c557eb: Layer already exists\n72cfa243711c: Layer already exists\n9bf603e17b04: Layer already exists\nbfee0515af91: Layer already exists\na1f3a5dbf033: Pushing [\u003e                                                  ] 197.1 kB/17.75 MB\n70b22baddf90: Layer already exists\nde474ef140e0: Pushing [\u003e                                                  ] 197.1 kB/17.75 MB\n596ecbaf3ba4: Layer already exists\n445ed6ee6867: Layer already exists\na1f3a5dbf033: Pushing [==\u003e                                                ] 786.9 kB/17.75 MB\nc59fa6cbcbd9: Layer already exists\nde474ef140e0: Pushing [==\u003e                                                ] 786.9 kB/17.75 MB\n8d4d1ab5ff74: Layer already exists\na1f3a5dbf033: Pushing [===\u003e                                               ]  1.18 MB/17.75 MB\nde474ef140e0: Pushing [===\u003e                                               ]  1.18 MB/17.75 MB\na1f3a5dbf033: Pushing [====\u003e                                              ]  1.77 MB/17.75 MB\nde474ef140e0: Pushing [====\u003e                                              ]  1.77 MB/17.75 MB\na1f3a5dbf033: Pushing [======\u003e                                            ] 2.163 MB/17.75 MB\na1f3a5dbf033: Pushing [=======\u003e                                           ] 2.753 MB/17.75 MB\nde474ef140e0: Pushing [======\u003e                                            ]  2.36 MB/17.75 MB\na1f3a5dbf033: Pushing [=========\u003e                                         ] 3.343 MB/17.75 MB\nde474ef140e0: Pushing [========\u003e                                          ]  2.95 MB/17.75 MB\na1f3a5dbf033: Pushing [==========\u003e                                        ] 3.736 MB/17.75 MB\nde474ef140e0: Pushing [==========\u003e                                        ] 3.736 MB/17.75 MB\na1f3a5dbf033: Pushing [===========\u003e                                       ] 4.129 MB/17.75 MB\nde474ef140e0: Pushing [============\u003e                                      ] 4.522 MB/17.75 MB\na1f3a5dbf033: Pushing [=============\u003e                                     ] 4.719 MB/17.75 MB\nde474ef140e0: Pushing [=============\u003e                                     ] 4.916 MB/17.75 MB\na1f3a5dbf033: Pushing [==============\u003e                                    ] 5.112 MB/17.75 MB\nde474ef140e0: Pushing [==============\u003e                                    ] 5.309 MB/17.75 MB\na1f3a5dbf033: Pushing [================\u003e                                  ] 5.702 MB/17.75 MB\nde474ef140e0: Pushing [================\u003e                                  ] 5.702 MB/17.75 MB\na1f3a5dbf033: Pushing [=================\u003e                                 ] 6.292 MB/17.75 MB\nde474ef140e0: Pushing [=================\u003e                                 ] 6.095 MB/17.75 MB\na1f3a5dbf033: Pushing [===================\u003e                               ] 6.882 MB/17.75 MB\nde474ef140e0: Pushing [==================\u003e                                ] 6.685 MB/17.75 MB\nde474ef140e0: Pushing [===================\u003e                               ] 7.078 MB/17.75 MB\na1f3a5dbf033: Pushing [=====================\u003e                             ] 7.472 MB/17.75 MB\nde474ef140e0: Pushing [=====================\u003e                             ] 7.668 MB/17.75 MB\na1f3a5dbf033: Pushing [======================\u003e                            ] 7.865 MB/17.75 MB\nde474ef140e0: Pushing [======================\u003e                            ] 8.061 MB/17.75 MB\na1f3a5dbf033: Pushing [=======================\u003e                           ] 8.455 MB/17.75 MB\nde474ef140e0: Pushing [=======================\u003e                           ] 8.455 MB/17.75 MB\na1f3a5dbf033: Pushing [=========================\u003e                         ] 9.044 MB/17.75 MB\nde474ef140e0: Pushing [=========================\u003e                         ] 9.044 MB/17.75 MB\na1f3a5dbf033: Pushing [===========================\u003e                       ] 9.634 MB/17.75 MB\nde474ef140e0: Pushing [===========================\u003e                       ] 9.634 MB/17.75 MB\na1f3a5dbf033: Pushing [============================\u003e                      ] 10.22 MB/17.75 MB\nde474ef140e0: Pushing [============================\u003e                      ] 10.22 MB/17.75 MB\na1f3a5dbf033: Pushing [==============================\u003e                    ] 10.81 MB/17.75 MB\nde474ef140e0: Pushing [==============================\u003e                    ] 10.81 MB/17.75 MB\na1f3a5dbf033: Pushing [================================\u003e                  ]  11.4 MB/17.75 MB\nde474ef140e0: Pushing [===============================\u003e                   ] 11.21 MB/17.75 MB\na1f3a5dbf033: Pushing [=================================\u003e                 ]  11.8 MB/17.75 MB\nde474ef140e0: Pushing [=================================\u003e                 ]  11.8 MB/17.75 MB\na1f3a5dbf033: Pushing [=================================\u003e                 ] 11.99 MB/17.75 MB\nde474ef140e0: Pushing [==================================\u003e                ] 12.39 MB/17.75 MB\na1f3a5dbf033: Pushing [===================================\u003e               ] 12.58 MB/17.75 MB\nde474ef140e0: Pushing [====================================\u003e              ] 12.98 MB/17.75 MB\na1f3a5dbf033: Pushing [=====================================\u003e             ] 13.17 MB/17.75 MB\nde474ef140e0: Pushing [======================================\u003e            ] 13.57 MB/17.75 MB\na1f3a5dbf033: Pushing [======================================\u003e            ] 13.76 MB/17.75 MB\nde474ef140e0: Pushing [=======================================\u003e           ] 14.16 MB/17.75 MB\nde474ef140e0: Pushing [========================================\u003e          ] 14.55 MB/17.75 MB\na1f3a5dbf033: Pushing [========================================\u003e          ] 14.35 MB/17.75 MB\nde474ef140e0: Pushing [==========================================\u003e        ] 15.14 MB/17.75 MB\na1f3a5dbf033: Pushing [==========================================\u003e        ] 14.94 MB/17.75 MB\nde474ef140e0: Pushing [============================================\u003e      ] 15.73 MB/17.75 MB\na1f3a5dbf033: Pushing [===========================================\u003e       ] 15.53 MB/17.75 MB\na1f3a5dbf033: Pushing [============================================\u003e      ] 15.93 MB/17.75 MB\nde474ef140e0: Pushing [=============================================\u003e     ] 16.32 MB/17.75 MB\na1f3a5dbf033: Pushing [==============================================\u003e    ] 16.52 MB/17.75 MB\nde474ef140e0: Pushing [===============================================\u003e   ] 16.91 MB/17.75 MB\na1f3a5dbf033: Pushing [===============================================\u003e   ] 16.91 MB/17.75 MB\nde474ef140e0: Pushing [================================================\u003e  ]  17.3 MB/17.75 MB\na1f3a5dbf033: Pushing [================================================\u003e  ]  17.3 MB/17.75 MB\nde474ef140e0: Pushing [==================================================\u003e] 17.75 MB\na1f3a5dbf033: Pushing [==================================================\u003e] 17.75 MB\nde474ef140e0: Pushed\na1f3a5dbf033: Pushed\n?[10B1.0: digest: sha256:72a7592db15f7f670bad37b2022a8e43f918d3800fcbe42eef60eafd6c9e6a2d size: 2631\nnull: null\n[INFO] ------------------------------------------------------------------------\n[INFO] BUILD SUCCESS\n[INFO] ------------------------------------------------------------------------\n[INFO] Total time: 15.649 s\n[INFO] Finished at: 2017-06-17T13:31:22+08:00\n[INFO] Final Memory: 32M/331M\n[INFO] ------------------------------------------------------------------------\n```\n\nfabric8插件使用注意事项\n\n1、在pom.xml中做如下配置\n\n```\n\u003cconfiguration\u003e\n    \u003cdockerHost\u003ehttp://registry.ameizi.me:2376\u003c/dockerHost\u003e\n    \u003cpushRegistry\u003e${docker.repostory}\u003c/pushRegistry\u003e\n    \u003cauthConfig\u003e\n        \u003c!-- 镜像仓库用户名密码 --\u003e\n        \u003cusername\u003eadmin\u003c/username\u003e\n        \u003cpassword\u003eadmin\u003c/password\u003e\n    \u003c/authConfig\u003e\n\u003c/configuration\u003e\n```\n\n2、构建\n\n```\nC:\\Users\\Administrator\\Desktop\\spring-boot-docker-example\u003emvn io.fabric8:docker-maven-plugin:build\n[INFO] Scanning for projects...\n[INFO]\n[INFO] ------------------------------------------------------------------------\n[INFO] Building spring-boot-docker-example 1.0\n[INFO] ------------------------------------------------------------------------\n[INFO]\n[INFO] --- docker-maven-plugin:0.21.0:build (default-cli) @ spring-boot-docker-example ---\n[INFO] Copying files to C:\\Users\\Administrator\\Desktop\\spring-boot-docker-example\\target\\docker\\library\\spring-boot-docker-example\\1.0\\build\\maven\n[INFO] Building tar: C:\\Users\\Administrator\\Desktop\\spring-boot-docker-example\\target\\docker\\library\\spring-boot-docker-example\\1.0\\tmp\\docker-build.tar\n[INFO] DOCKER\u003e [library/spring-boot-docker-example:1.0] \"app\": Created docker-build.tar in 2 seconds\n[INFO] DOCKER\u003e Step 1/4 : FROM openjdk:latest\n[INFO] DOCKER\u003e ---\u003e ab0ecda9094c\n[INFO] DOCKER\u003e Step 2/4 : EXPOSE 8080\n[INFO] DOCKER\u003e ---\u003e Using cache\n[INFO] DOCKER\u003e ---\u003e fa600785c2b7\n[INFO] DOCKER\u003e Step 3/4 : COPY maven /maven/\n[INFO] DOCKER\u003e ---\u003e Using cache\n[INFO] DOCKER\u003e ---\u003e ce0e22ad4174\n[INFO] DOCKER\u003e Step 4/4 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /maven/spring-boot-docker-example-1.0.jar\n[INFO] DOCKER\u003e ---\u003e Using cache\n[INFO] DOCKER\u003e ---\u003e cbdc89609f72\n[INFO] DOCKER\u003e Successfully built cbdc89609f72\n[INFO] DOCKER\u003e [library/spring-boot-docker-example:1.0] \"app\": Built image sha256:cbdc8\n[INFO] DOCKER\u003e [library/spring-boot-docker-example:1.0] \"app\": Tag with 1.0\n[INFO] ------------------------------------------------------------------------\n[INFO] BUILD SUCCESS\n[INFO] ------------------------------------------------------------------------\n[INFO] Total time: 5.988 s\n[INFO] Finished at: 2017-06-17T13:49:57+08:00\n[INFO] Final Memory: 18M/308M\n[INFO] ------------------------------------------------------------------------\n```\n\n3、推送\n\n```\nC:\\Users\\Administrator\\Desktop\\spring-boot-docker-example\u003emvn io.fabric8:docker-maven-plugin:push\n[INFO] Scanning for projects...\n[INFO]\n[INFO] ------------------------------------------------------------------------\n[INFO] Building spring-boot-docker-example 1.0\n[INFO] ------------------------------------------------------------------------\n[INFO]\n[INFO] --- docker-maven-plugin:0.21.0:push (default-cli) @ spring-boot-docker-example ---\n\n[INFO] DOCKER\u003e The push refers to a repository [registry.ameizi.me/library/spring-boot-docker-example]\n#\n[INFO] DOCKER\u003e 1.0: digest: sha256:00fbb2be6828c03c79a1bab473809247ce488fa4f51ef30ade85d270f5d851f5 size: 2419\n\n[INFO] DOCKER\u003e Pushed library/spring-boot-docker-example:1.0 in 2 seconds\n\n[INFO] DOCKER\u003e The push refers to a repository [registry.ameizi.me/library/spring-boot-docker-example]\n#\n[INFO] DOCKER\u003e 1.0: digest: sha256:00fbb2be6828c03c79a1bab473809247ce488fa4f51ef30ade85d270f5d851f5 size: 2419\n\n[INFO] ------------------------------------------------------------------------\n[INFO] BUILD SUCCESS\n[INFO] ------------------------------------------------------------------------\n[INFO] Total time: 6.012 s\n[INFO] Finished at: 2017-06-17T13:51:19+08:00\n[INFO] Final Memory: 19M/331M\n[INFO] ------------------------------------------------------------------------\n```\n\n![](Screenshots/harbor.png)\n\n![](Screenshots/images.png)\n\n\n### 注意事项\n\n1、docker开启2376或2375监听端口\n\nubuntu环境中修改`/etc/default/docker`文件后重启`docker`服务\n\n```\nDOCKER_OPTS=\"$DOCKER_OPTS --registry-mirror=https://ex93eg1r.mirror.aliyuncs.com -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2376\"\n```\n\n2、harbor私服搭建教程\n\nhttps://github.com/ameizi/DevArticles/issues/164\n\n### 参考文档\n\nhttps://docs.docker.com/engine/reference/builder/\n\nhttps://docs.docker.com/compose/compose-file/\n\nhttps://github.com/spotify/docker-maven-plugin\n\nhttps://dmp.fabric8.io\n\nhttp://www.cnblogs.com/kingsy/p/6411371.html\n\nhttps://docs.docker.com/engine/reference/commandline/dockerd/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv5tech%2Fspring-boot-docker-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fv5tech%2Fspring-boot-docker-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv5tech%2Fspring-boot-docker-example/lists"}