Skip to content

Commit

Permalink
add new page for docker image build (#373)
Browse files Browse the repository at this point in the history
  • Loading branch information
htynkn authored and beiwei30 committed May 24, 2019
1 parent 574428a commit bebf6f8
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 0 deletions.
58 changes: 58 additions & 0 deletions blog/zh-cn/build-new-docker-image-in-dockerhub.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: 在DockerHub发布Dubbo Admin镜像
keywords: Dubbo Admin,Docker,Dockerhub
description: 本文将介绍如何在Dockerhub上发布Dubbo Admin镜像。
---

# 在DockerHub发布Dubbo Admin镜像

Dubbo Admin是Dubbo的服务治理中心,提供了大量日常运维所需的服务治理、配置管理等功能。

Dubbo Admin同时包含了前端代码和后端代码,如果用户需要自己下载源码并编译打包,需要花费一定时间。
特别是对于一些希望快速调研和试用Dubbo Admin的用户,这种流程的体验并不是很好。

Docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的镜像中,社区对于提供Dubbo Admin镜像的呼声较高。
Docker官方维护了一个公共仓库DockerHub,该仓库还有很多国内镜像,访问速度快,将Dubbo Admin镜像发布到DockerHub是一个较好的选择。


## DockerHub账号申请
要在DockerHub上发布镜像,自然需要对应的账号。
而DockerHub有两种常见账号,一种是面向个人的,一种是面向组织的。Apache在DockerHub上有一个组织账号[^apache-repo]
自然我们首选是发布在组织账号下。

DockerHub对于组织账号的管理是基于组的,也就是一个组织账号下有多个组,每个组有不同的成员,而一个组可以管理一个或者多个镜像。

所以要做的第一步就是申请权限,这个需要提一个issue给Apache Infrastructure团队,申请DockerHub的镜像仓库和组权限。
目前镜像和组已经申请好了,只需要申请组的权限就行了,可以参考之前的申请[^request-ticket]

申请完权限以后使用Apache账号登陆应该就可以看到对应的镜像和配置选项了。

## 添加新的构建规则
发布镜像到DockerHub有两种办法,一种是本地构建好镜像以后远程push到DockerHub,另外一种是提供Dockerfile并借助DockerHub提供的构建功能直接在DockerHub构建。
后者明显操作性和便捷性要好很多,目前Dubbo Admin的镜像也是这样构建发布的。

当Dubbo Admin有新版本发布以后,需要在项目的docker目录新增一个Dockerfile文件,可以参考目前0.1.0版本的Dockerfile[^docker-file],其中的配置根据具体的版本可能有细微差别,但是大致上是一致的。

在添加了Dockerfile之后,进入DockerHub对应的管理界面新增Build Rules

![dockerhub-build-rules.png | center ](../../img/blog/dockerhub-build-rules.png "")


根据实际情况填写即可。这里需要注意两点:
+ latest 版本要和最新的版本配置一致
+ 不要勾选Autobuild

勾选Autobuild会导致每次git提交都会触发自动构建,但是由于Dubbo Admin不提供snapshot的Docker镜像,所以只有发布新版本的时候才需要构建发布。

修改以后点Save,然后手动触发构建即可。

## 总结
总的来说DockerHub上发布镜像的步骤并不复杂,如果已经申请过权限的话,操作起来是很流畅的。

另外DockerHub的构建是需要排队的,有时候会遇到长时间没有开始构建的情况,需要耐心等待。



[^apache-repo]: https://hub.docker.com/r/apache
[^request-ticket]: https://issues.apache.org/jira/browse/INFRA-18167
[^docker-file]: https://github.com/apache/incubator-dubbo-admin/blob/develop/docker/0.1.0/Dockerfile
Binary file added img/blog/dockerhub-build-rules.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions site_config/blog.js
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,13 @@ export default {
barText: '博客',
postsTitle: '所有文章',
list: [
{
title: '在DockerHub发布Dubbo Admin镜像',
author: '@htynkn',
dateStr: 'May 23th, 2019',
desc: '介绍如何在DockerHub上发布Dubbo Admin镜像',
link: '/zh-cn/blog/build-new-docker-image-in-dockerhub.html',
},
{
title: '研究 Dubbo 网卡地址注册时的一点思考',
author: '@lexburner',
Expand Down

0 comments on commit bebf6f8

Please sign in to comment.