1、搭建
docker-registry是官方提供的工具,可以用于构建私有的镜像仓库。
安装运行docker-registry
可以通过获取官方registry镜像来运行。默认情况下,仓库会被创建在容器的/var/lib/registry目录下。可以通过-v参数来将镜像文件存放在本地的指定路径。
bash
docker run --name registry -d -p 5000:5000 --restart=always -v /opt/registry:/var/lib/registry registry
注意需要防火墙开放tcp 5000端口,测试http://xx.xx.xx.xx:5000/v2/_catalog
"xx.xx.xx.xx"换成实际的IP(下同),搭建成功的会显示一个json
2、推送
已redis:7为例,先改名
bash
sudo docker tag redis:7 127.0.0.1:5000/redis:7
推送到仓库:
bash
sudo docker push 127.0.0.1:5000/redis:7
到其他机器拉取:
bash
sudo docker pull xx.xx.xx.xx:5000/redis:7
拉取后的docker images的tag多了一个"xx.xx.xx.xx:5000/",可以通过修改docker images地址增加前缀,后通过docker tag命令改名。
3、加速与换源修改
修改客户端/etc/docker/daemon.json中写入如下内容
bash
{
"registry-mirrors": [
"http://xx.xx.xx.xx:5000"
] ,
"insecure-registries":[
"xx.xx.xx.xx:5000"
]
}
~
重启生效
bash
sudo service docker restart