Docker 私有镜像仓库 Registry 搭建指南
·
Docker 私有镜像仓库 Registry 搭建指南
一、概述
Docker 不仅提供了中央仓库(Docker Hub),还允许用户搭建本地私有仓库来更好地管理企业项目镜像。Docker 官方提供了 registry 镜像来简化私有仓库的搭建过程。
二、部署操作实例
2.1 拉取 Registry 镜像
[root@hrz3 ~]# docker pull registry:2
2: Pulling from library/registry
44cf07d57ee4: Pull complete
bbbdd6c6894b: Pull complete
8e82f80af0de: Pull complete
3493bf46cdec: Pull complete
6d464ea18732: Pull complete
Digest: sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
Status: Downloaded newer image for registry:2
docker.io/library/registry:2
2.2 启动 Registry 容器
[root@hrz3 ~]# docker run -itd -p 5000:5000 --restart always --name myregistry registry:2
928accbaff9e1446c81e081f11c353d678e246a19c87d42c12bb03959b6a2416
- 参数说明:
-p 5000:5000:端口映射--restart always:确保容器自动重启,服务高可用--name myregistry:容器名称
2.3 验证服务状态
[root@hrz3 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
928accbaff9e registry:2 "/entrypoint.sh /etc…" 7 seconds ago Up 5 seconds 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp myregistry
三、配置与使用
3.1 准备镜像并打标签
registry默认是不需要身份验证就能直接上传镜像,但是需要修改镜像名来指定仓库地址。
镜像命名格式: IP:端口/镜像名:标签
[root@hrz3 ~]# docker tag nginx:v2 192.168.100.30:5000/nginx:v2
[root@hrz3 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kod v1 2c901cc19f0b 21 hours ago 676MB
saolei v1 3a4bc4a8f28b 24 hours ago 716MB
192.168.100.30:5000/nginx v2 69dcbe3cb46e 25 hours ago 536MB
3.2 配置 Docker 信任私有仓库
编辑 Docker 配置文件:
在加速器配置后面加上
“insecure-registries”: [“192.168.100.30:5000”]
[root@hrz3 ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
] ,"insecure-registries": ["192.168.100.30:5000"]
}
重启 Docker 服务使配置生效:
[root@hrz3 ~]# systemctl daemon-reload
[root@hrz3 ~]# systemctl restart docker
3.3 推送镜像到私有仓库
[root@hrz3 ~]# docker push 192.168.100.30:5000/nginx:v2
3.4 验证仓库内容
[root@hrz3 ~]# curl http://192.168.100.30:5000/v2/_catalog
{"repositories":["nginx"]}
总结
1、Docker不仅提供了一个中央仓库,同时也允许我们搭建本地私有仓库,Docker官方提供了一个搭建私有仓库的镜像 registry。
2、添加–restart always参数,可是使容器随着Docker host的启动而启动。
3、registry默认是不需要身份验证就能直接上传镜像,但是需要修改镜像名来指定仓库地址。
更多推荐


所有评论(0)