Docker 私有仓库创建与使用

废话少说,直接上来就是操作步骤,简单明了。

Docker 私有仓库

1、安装步骤

1.1、直接从公共库上面下载register镜像在本地执行

# docker run-d -p 5000:5000 --name registry -v /opt/data/registry:/tmp/registry registry

注:docker默认的仓库镜像信息在/var/lib/registry中,所以在启动仓库时用这个目录

# docker run-d -p 5000:5000 --name registry -v opt/data/registry:/var/lib/registry registry

1.2、接下来我们就要操作把一个本地镜像push到私有仓库中。首先在客户机器下pull一个比较小的镜像来测试(此处使用的是busybox)。

# sudo docker pull busybox

1.3、修改该镜像tag

# docker tagdocker.io/busybox 192.168.8.2:5000/busybox

1.4、接下来把打了tag的镜像上传到私有仓库

# docker push192.168.8.2:5000/busybox

注:因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。为了解决这个问题需要在启动docker server时增加启动参数为默认使用http访问。修改docker启动配置文件(此处是修改客户机器的配置)Ubuntu下配置文件地址为:/etc/init/docker.conf,在其中增加–insecure-registry192.168.8.2:5000如下所示:

解决方案:

# sudo vi/etc/init/docker.conf

或是添加到docker的daemon.json中,如:

insecure-registries

修改/etc/sysconfig/docker文件,并重新启动docker服务。

ADD_REGISTRY='--add-registry10.100.50.120:5000'

INSECURE_REGISTRY='--insecure-registry 10.100.50.120:5000'

之后重启docker

注:其中的10.100.50.120是你的私有仓库的地址,我用的是:192.168.8.2以上IP是我们做其它测试给的IP,根据实际情况进行修改即可。

1.5、重启完之后我们再次运行推送命令,把本地镜像推送到私有服务器上。

# dockerpush 192.168.8.2:5000/busybox

 2、在私人仓库里面搜索镜像也出错:Unexpected status code 404 #搜索docker镜像的时候返回404错误,找不到镜像。

 dockersearch 192.168.8.2:5000/busybox

查看官方文档,当前版本不支持搜索,可以利用V2版本尝试。

# docker run-d -p 5000:5000 --name registry -v /opt/data/registry:/tmp/registry registry:2

还是不能提供搜索功能,同样不能搜索,还是一样的错误。官方文档说的是,可以支持API。尝试一下

# curlhttp://192.168.8.2:5000/v2/_catalog

# curlhttp://192.168.8.2:5000/v2/image_name/tags/list

http://192.168.8.2:5000/v2/_catalog

​编辑

http://192.168.8.2:5000/v2/apache/tags/list

​编辑

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值