Docker Registry搭建

1、前言

Docker官方鏡像倉庫 訪問速度很慢,Docker Registry容許搭建咱們本身的鏡像倉庫,爲實現鏡像拉取、推送提供便利。git

2、安裝與啓動

一、建立目錄github

mkdir /usr/local/docker
cd /usr/local/docker

二、編輯docker-compose.ymldocker

version: "3.7"
services:
  registry:
    restart: always
    image: registry
    container_name: registry
    ports:
      - 5000:5000
    volumes:
      - /usr/local/docker/registry-data:/var/lib/registry
  • image : 容器依據的鏡像爲registry
  • container_name : 容器名稱
  • ports : 端口映射
  • volumes : 映射數據卷

三、啓動容器shell

docker-compose up -d

3、驗證是否啓動成功

瀏覽器訪問 http://<host address>:5000/v2/,正常狀況會返回空的json對象。apache

4、Registry測試使用

一、先從官方鏡像拉取ubuntujson

docker pull ubuntu

二、爲鏡像打上tag,建立本身的鏡像ubuntu

docker tag ubuntu 192.168.172.143:5000/ubuntu

命名方式:ip:port/image_name:version瀏覽器

表示一會推送到鏡像服務器時,使用這個ip、端口配置服務器

三、查看剛纔的鏡像frontend

docker images

四、配置鏡像服務器地址

vi /etc/docker/daemon.json
內容以下:
{
        "registry-mirrors": [
                "<your acccelerate address>"
        ],
        "insecure-registries":  [
                "192.168.172.143:5000"
        ]
}
重啓服務:
service docker restart

第一個爲阿里雲容器鏡像加速地址,第二個爲新增的本身的鏡像服務器地址。

五、驗證配置

docker info

Insecure Registries節點是否多了一個配置。

六、推送鏡像

docker push 192.168.172.143:5000/ubuntu

七、查看鏡像

瀏覽器查看: http://192.168.172.143:5000/v2/_catalog

終端訪問: curl -XGET http://192.168.172.143:5000/v2/_catalog

八、拉取鏡像

先刪除本地鏡像
docker rmi ubuntu 192.168.172.143:5000/ubuntu
拉取
docker pull 192.168.172.143:5000/ubuntu

5、Registry圖形界面

docker registry自己不提供圖形界面,爲方便操做,須要安裝第三方的圖形界面 :Docker-Registry-Frontend

一、安裝

修改docker-compose.yml
version: "3.7"
services:
  registry:
    restart: always
    image: registry
    container_name: registry
    ports:
      - 5000:5000
    volumes:
      - /usr/local/docker/registry-data:/var/lib/registry
  registry-ui:
    restart: always
    image: konradkleine/docker-registry-frontend:v2
    container_name: registry-ui
    environment:
      ENV_DOCKER_REGISTRY_HOST: 192.168.172.143
      ENV_DOCKER_REGISTRY_PORT: 5000
    ports:
      - 8080:80
    volumes:
      - /usr/local/docker/registry/server.crt:/etc/apache2/server.crt:ro
      - /usr/local/docker/registry-ui/server.key:/etc/apache2/server.key:ro
      
刪除已經存在的容器
docker rm $(docker ps -aq)
  • ENV_DOCKER_REGISTRY_HOST : 鏡像服務器地址
  • ENV_DOCKER_REGISTRY_PORT : 鏡像服務器端口

二、從新啓動

docker-compose up -d

三、訪問

瀏覽器訪問:http://192.168.172.143:8080/ 便可

四、測試

推送
docker push 192.168.172.143:5000/ubuntu
修改tag再次推送
docker tag 192.168.172.143:5000/ubuntu 192.168.172.143:5000/ubuntu:8.0.0
docker push 192.168.172.143:5000/ubuntu:8.0.0

訪問: http://192.168.172.143:8080/能夠看到兩個版本的ubuntu.

相關文章
相關標籤/搜索