建立自己的 Docker Registry

Docker Registry 是被用來儲存 Docker 所建立的映像檔的地方,我們可以把自己建立的映像檔透過上傳到 Registries 來分享給其他人。Registries 也被分為了公有與私有,一般公有的 Registries 是 Docker HubQUAYGCP registry,提供了所有基礎的映像檔與全球使用者上傳的映像檔。私人的則是企業或者個人環境建置的,可參考 Deploying a registry server

預先準備資訊

本教學將以下列節點數與規格來進行部署 Kubernetes 叢集,作業系統可採用Ubuntu 16.xCentOS 7.x

IP Address Role CPU Memory
172.16.35.13 docker-registry 1 2G

安裝

首先進入到docker-registry節點,安裝 Docker engine:

$ curl -fsSL "https://get.docker.com/" | sh

完成安裝後,接著透過以下指令建立一個 Docker registry 容器:

$ docker run -d -p 5000:5000 --restart=always --name registry \
-v $(pwd)/data:/var/lib/registry \
registry:2

-v 為 host 與 container 要進行同步的目錄,主要存放 docker images 資料

接著為了方便檢視 Docker image,這邊另外部署 Docker registry UI:

$ docker run -d -p 5001:80 \
-e ENV_DOCKER_REGISTRY_HOST=172.16.35.13 \
-e ENV_DOCKER_REGISTRY_PORT=5000 \
konradkleine/docker-registry-frontend:v2

完成後就可以透過瀏覽器進入 Docker registry UI 查看資訊。也可以透過以下指令檢查是否部署成功:

$ docker pull ubuntu:14.04
$ docker tag ubuntu:14.04 localhost:5000/ubuntu:14.04
$ docker push localhost:5000/ubuntu:14.04

The push refers to a repository [localhost:5000/ubuntu]
447f88c8358f: Pushed
df9a135a6949: Pushed
...

其他 Docker registry 列表:

Share Comments