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服务而启动,同时保留仓库信息
相关文章
相关标签/搜索