docker 局域网仓库(registry)

 

sudo docker pull daocloud.io/registry

安装仓库(registry)

 使用daocloud/aliyun镜像吧,官网仓库真心没法用

 

sudo docker run --name registry --restart=always -d -p 5000:5000 registry

-d:启动一个守护进程程序(长任务)

-p:指定端口号,一般为port1:port2形式,port1是宿主机器监听的端口,port2是对应的docker监听的程序

--name:指定镜像名称

--restart=alway,随着docker服务而启动,同时保留仓库信息

如果启动成功,通过

sudo lsof -i:5000

将会看到有docker进程在监听

 

sudo docker tag XXXX 10.1.108.108:5000/centos

XXX代表imageID,可以通过sudo docker images中查看,添加了前缀10.1.108.108代表这个镜像是可以添加到本地(如果指定为127.0.0.1)/远程(如果指定是远程IP)仓库的,在调用push的时候,自动会解析前缀将其提交。

另外注意起的名称一定要都是小写,不能有大写,否则回报错

 

sudo docker push 10.1.108.108:5000/centos

将镜像提交到指定的仓库(由前缀决定)

 

sudo docker pull 10.1.108.108:5000/centos

某客户端从局域网仓库中拉取docker

 

碰到的问题:

Error while pulling image: Get http://10.1.108.108:5000/v1/repositories/centos/images: dial tcp 10.1.108.108:5000: getsockopt: connection refused

代表对方并没有启动仓库服务,两种可能:第一种是IP错误;第二种是docker的仓库服务没有启动

 

Error: image centos:latest not found

没有将镜像push到仓库里面,找不到对应的镜像(centos:latest)

 

Get https://10.1.108.108:5000/v1/_ping: http: server gave HTTP response to HTTPS client

这个异常代表服务器端只是支持http,但是客户端却使用https;

在客户端机器上面的/etc/docker/daemon.json里面添加如下内容即可:

{

"insecure-registries" : ["10.1.108.108:5000"]

}

代表向指定register请求的时候不需要https(这个不安全)

如果有多的仓库,可以在“[]”中添加多个。

这里注意:docker私服配置文件修改后,要重启docker才能够生效

 

sudo docker run --name registry --restart=always -d -p 5000:5000 registry

-d:启动一个守护进程程序(长任务)

-p:指定端口号,一般为port1:port2形式,port1是宿主机器监听的端口,port2是对应的docker监听的程序

--name:指定镜像名称

--restart=alway,随着docker服务而启动,同时保留仓库信息

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值