搭建Docker私有镜像仓库

目录

常见镜像仓库服务

搭建私有镜像仓库

1.简化版镜像仓库

2.带有图形化界面的版本

推送镜像 -- 私有仓库

拉取镜像 --  私有仓库


常见镜像仓库服务

镜像仓库 Docker Registry )有公共的和私有的两种形式:

  • 公共仓库:例如Docker官方的 Docker Hub,国内也有一些云服务商提供类似于 Docker Hub 的公开服务比如 网易云镜像服务DaoCloud 镜像服务阿里云镜像服务等。
  • 除了使用公开仓库外,用户还可以在本地搭建私有 Docker Registry。企业自己的镜像最好是采用私有Docker Registry来实现。

搭建私有镜像仓库

搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。

官方网址:Docker Hub

1.简化版镜像仓库

Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。

搭建方式比较简单,命令如下:

docker run -d \
    --restart=always \
    --name registry	\
    -p 5000:5000 \
    -v registry-data:/var/lib/registry \
    registry

命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录,这是私有镜像库存放数据的目录。

访问http://YourIp:5000/v2/_catalog 可以查看当前私有镜像服务中包含的镜像

2.带有图形化界面的版本

使用DockerCompose部署带有图象界面的DockerRegistry

DockerCompose的安装请参考: Docker-Compose 使用_naki_bb的博客-CSDN博客

在自定的目录下面创建docker-compose.yml文件

内容如下:

version: '3.0'
services:
  registry:
    image: registry
    volumes:
      - ./registry-data:/var/lib/registry
  ui:
    image: joxit/docker-registry-ui:static
    ports:
      - 8080:80
    environment:
      - REGISTRY_TITLE=XXX私有仓库
      - REGISTRY_URL=http://registry:5000
    depends_on:
      - registry

配置Docker信任地址

我们的私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:

# 打开要修改的文件
vi /etc/docker/daemon.json
# 添加内容:
"insecure-registries":["http://192.168.150.101:8080"]

 搭建Docker私有镜像仓库_第1张图片

 注意以“,”号分割

# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker

docker-compose启动

 进入存放docker-compose.yml的同级目录

docker-compose up -d

 我们可以发现docker-compose给我们启动了2个容器

一个是DockerRegistry ,另一个是ui界面

访问宿主机8080端口

搭建Docker私有镜像仓库_第2张图片

推送镜像 -- 私有仓库

我们将本地镜像nginx:latest,推送到私有仓库

搭建Docker私有镜像仓库_第3张图片

 

1.重新tag本地镜像,名称前缀为私有仓库的地址:192.168.168.128:8080/

docker tag nginx:latest 192.168.168.128:8080/nginx:1.0 

搭建Docker私有镜像仓库_第4张图片

 2.推送镜像

docker push 192.168.168.128:8080/nginx:1.0 

搭建Docker私有镜像仓库_第5张图片

搭建Docker私有镜像仓库_第6张图片

搭建Docker私有镜像仓库_第7张图片

 可以发现已经上传成功

拉取镜像 --  私有仓库

docker pull 192.168.168.128:8080/nginx:1.0

先删除本地的 192.168.168.128:8080/nginx:1.0的镜像,在拉取

搭建Docker私有镜像仓库_第8张图片

搭建Docker私有镜像仓库_第9张图片

 

你可能感兴趣的:(docker,docker,容器,运维)