简介:建立私有库挺简单,向私有库传文件、下载文件有点坑,要设置一下。
建立私有库
参考私有仓库的建立
- 先在服务器建一个文件夹/home/user/TRE_dockerhub,默认情况下,仓库会被创建在容器的 /var/lib/registry 目录下。可以通过 -v 参数来将镜像文件存放在本地的指定路径。通过获取官方 registry 镜像来运行
docker run -d -p 5000:5000 --restart=always --name dockerhub_registry -v /home/user/T_dockerhub:/var/lib/registry registry
向私有库上传下载文件
假设已在172.22.2.3服务器建立私有库,如何在客户端上传、下拉文件,操作如下:
本地配置
- 确认本地已安装Docker
-
由于直接上传会出现报错提示,从提示信息可以看出需要使用https的方式才能上传,所以要先配置下。解决方案如下,打开命令行:
先进入root权限修改一个文件sudo su
cd /etc/docker/ gedit daemon.json #如果没有这个文件就创建它,也可vim编辑添加私有服务器地址、端口,在里面编辑如下:
{ "insecure-registries": [ "172.22.2.3:5000" ] }
如果多个私服,就这样用逗号分隔:
{ "insecure-registries": [ "test.docker.jiankunking.io:5000", "hub.docker.jiankunking.io:5000" ] }
或者除了insecure-registries还有其他东西,就这样,也是逗号分隔:
{ "registry-mirrors":["https://registry.docker-cn.com"], "insecure-registries":["192.168.3.82:5000"] }
注意该文件必须符合json格式,否则Docker不能启动
保存daemon.json,然后
systemctl restart docker
现在可以push了。
push与pull
上传镜像示例:
docker push 172.22.2.3:5000/fresh:v1_Tokyotime
查看私有库:
curl 172.22.2.3:5000/v2/_catalog
下载镜像示例:
docker pull 172.22.2.3:5000/fresh:v1_Tokyotime