前置参见:3.Ubuntu 16.04.6 离线安装 docker
开始配置第一台Docker私有仓库服务器
拉取镜像
docker pull registry
查看镜像是否已经成功获取
运行镜像
docker run -tid --name registry --restart=always -p 5000:5000 -v /data/registry:/var/lib/registry registry
#运行该镜像,各个选项含义如下:
# -tid:以后台持久运行,并分配一个可交互的为终端
# --name registry :给容器定义一个名字
# --restart=always:该容器可以随着docker服务的启动而启动
# -p:将容器的端口映射到宿主机,冒号前面是宿主机的端口,冒号后面是容器的端口,registry的默认端口是5000
# -v:将宿主机的目录挂载到容器中,冒号前面是宿主机的目录,冒号后面是容器中的目录
查看docker运行的镜像
docker ps
至此仓库搭建完成
解决私库https无法访问问题
若是没有 /etc/docker/daemon.json 这个文件,就新建一个
状况1.这种写法是没有配置Docker加速器的状况下
// 单个私服的写法 { "insecure-registries": ["registry的IP地址:端口号"] } // 多个私服的写法 { "insecure-registries": ["registry1的IP地址:端口号","registry2的IP地址:端口号"] }
状况2.这种写法是配置过Docker加速器的状况
// 单个私服的写法
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"insecure-registries": ["registry的IP地址:端口号"]
}
// 多个私服的写法
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"insecure-registries": ["registry1的IP地址:端口号","registry2的IP地址:端口号"]
}
修改好以后
systemctl daemon-reload
systemctl restart docker.service
systemctl enable docker.service
上传镜像
要上传镜像到私有仓库,需要在镜像的 tag 上加入仓库地址:
docker tag jboss 192.168.88.85:5000/jboss:v1
docker push 192.168.88.85:5000/jboss:v1
拉取镜像
docker pull 192.168.88.85:5000/jboss:v1
查看私库镜像
curl http://192.168.88.85:5000/v2/_catalog