Docker学习-私有仓库docker-registry的使用

1.从docker官方仓库下载registry

2.将registry放进容器内

3.在官方下载镜像上传本地仓库

4.私有仓库docker-registry使用的常见问题

5.配置阿里云镜像加速器

假设我外网ip119.23.113.33

1.从docker官方仓库下载registry

docker pull registry:2.2

此时,查看镜像docker images 会看见registry

REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
registry                    2.2                 ad379b517aa6        4 years ago         225MB

2.将registry放进容器内

默认情况下,仓库会被创建在容器的 /tmp/registry 下。可以通过 -v 参数来将镜像文件存放在本地的 指定路径。 下面的将上传的镜像放到 /opt/data/registry 目录

docker run -d --name=MyRegistry -p 5000:5000 -v /opt/data/registry:/tmp/registry registry:2.2

输入docker ps 查看已经启动的容器

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
0c8d76e6bc71        registry:2.2        "/bin/registry /etc/…"   11 hours ago        Up 9 hours          0.0.0.0:5000->5000/tcp   MyRegistry

3.在官方下载镜像上传本地仓库

下载ubuntu

docker pull ubuntu

查看镜像docker images

REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
registry                    2.2                 ad379b517aa6        4 years ago         225MB
ubuntu                      latest              77be327e4b63        4 weeks ago         124MB

修改一下该镜像的tag标识

docker tag ubuntu 119.23.113.33:5000/ubuntu

查看镜像docker images

REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
registry                    2.2                 ad379b517aa6        4 years ago         225MB
ubuntu                      latest              77be327e4b63        4 weeks ago         124MB
119.23.113.33:5000/ubuntu   latest              77be327e4b63        4 weeks ago         124MB

修改tag后的镜像上传到私有仓库

docker push 119.23.113.33:5000/ubuntu

4.常见问题

1.报错Get https://119.23.110.27:5000/v2/: http: server gave HTTP response to HTTPS client

Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。

echo '{ "insecure-registries":["119.23.113.33:5000"] }' > /etc/docker/daemon.json 

重启docker

扫描二维码关注公众号,回复: 10086825 查看本文章
systemctl restart docker

如果还是不行,可以查看一下,是不是添加了阿里云的镜像加速器,删除就行了

2.报错Get http://192.168.220.125:5000/v2/: dial tcp 192.168.220.125:5000: connect: connection refused

这是5000端口没开的原因

5.配置阿里云镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://59kfk4ft.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

感谢阅读

猜你喜欢

转载自www.cnblogs.com/lyc642983907/p/12551554.html