docker私有仓库搭建及使用

1.安装docker

$ yum remove docker-latest-logrotate docker-logrotate docker-selinux dockdocker-engine
$ yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加docker官方源
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ yum makecache fast
$ yum install docker-ce


# 国内部分用户可能无法连接docker官网提供的源,这里提供阿里云的镜像节点供测试使用
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
$ rpm --import http://mirrors.aliyun.com/docker-ce/linux/centos/gpg
$ yum makecache fast
$ yum -y install docker-ce

$ systemctl start docker
$ systemctl status docker

2. 配置私有仓库

  1. 安装registry镜像
$ docker pull registry
  1. 默认情况下,仓库会将镜像存放在/var/lib/registry目录下,这里指定本地一个目录挂载到容器内的/var/lib/registry下,如下:
$ mkdir -pv /opt/data/registry
$ docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

此时就会启动一个registry容器,地址为http://<ip>:5000

3. 推送镜像到本地仓库

$ docker pull imageName                  //拉取镜像
$ docker tag imageName ip:5000/imageName //修改镜像tag
$ docker push ip:5000/imageName          //推送到私有仓库
  • 问题:推送时错误 Get https://ip:5000/v2/: http: server gave HTTP response to HTTPS client
  • 原因:因为Docker从1.3.X以后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时会报上面的错误。
  • sol:
$ touch /etc/docker/daemon.json
$ echo '{ "insecure-registries":["ip:5000"] }' > /etc/docker/daemon.json
$ service docker restart 

4. 使用私有仓库

$ docker pull <registry_ip>:5000/<image_name>:<version>  

5. 查看私有仓库

$ curl ip:5000/v2/_catalog //查看仓库中的镜像情况
或访问 http://ip:5000/v2/_catalog
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值