搭建私有docker仓库

安装docker

yum install docker

启动docker

systemctl start docker

拉取registry镜像

docker pull registry

创建仓库配置文件/etc/docker/registry/config.yml,文件内容如下:

version: 0.1
log:
  fields:
    service: registry
storage:
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

启动registry

docker run -d --name registry -p 5000:5000 -v /var/lib/registry:/var/lib/registry -v /etc/docker/registry/config.yml:/etc/docker/registry/config.yml registry

执行docker pull或者docker push的时候可能会提示以下错误:
server gave HTTP response to HTTPS client
原因是客户端采用https,而docker registry未采用https服务所致

解决方法:
修改docker客户端的systemd文件

centos系统:
/usr/lib/systemd/system/docker.service
ubuntu系统:
/lib/systemd/system/docker.service

找到ExecStart这行,增加这段内容:

--insecure-registry 1.2.3.4:5000

其中,1.2.3.4是docker仓库地址

重启启动docker服务

systemctl daemon-reload
systemctl restart docker
原文地址:https://www.cnblogs.com/lasdaybg/p/9768445.html