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.

相关文章
相关标签/搜索