详解CentOS 7 : Docker私有仓库搭建和使用
系统环境:CentOS7.2
192.168.0.179:Docker仓库
192.168.0.60:客户端
安装并启动docker
yum-yinstalldocker systemctlstartdocker systemctlenabledocker
搭建私有仓库
179上下载registry镜像
dockerpullregistry
防火墙添加运行5000端口
iptables-IINPUT1-ptcp--dport5000-jACCEPT
下载完之后我们通过该镜像启动一个容器
dockerrun-d-p5000:5000--privileged=true-v/opt/registry:/tmp/registryregistry
参数说明:
-v/opt/registry:/tmp/registry:默认情况下,会将仓库存放于容器内的/tmp/registry目录下,指定本地目录挂载到容器
–privileged=true:CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误(OSError:[Errno13]Permissiondenied:‘/tmp/registry/repositories/liibrary')或者(ReceivedunexpectedHTTPstatus:500InternalServerError)错误
客户端上传镜像
修改/etc/sysconfig/docker(Ubuntu下配置文件地址为:/etc/init/docker.conf),增加启动选项(已有参数的在后面追加),之后重启docker,不添加报错,https证书问题。
OPTIONS='--insecure-registry192.168.0.179:5000'#CentOS7系统 other_args='--insecure-registry192.168.0.179:5000'#CentOS6系统
因为Docker从1.3.X之后,与dockerregistry交互默认使用的是https,而此处搭建的私有仓库只提供http服务
在docker公共仓库下载一个镜像
dockerpulldocker.io/centos
来修改一下该镜像的tag
dockertagcentos192.168.0.179:5000/centos
把打了tag的镜像上传到私有仓库
dockerpush192.168.0.179:5000/centos
客户端添加私有仓库地址
#添加这一行 ADD_REGISTRY='--add-registry192.168.0.179:5000'
加上后,search镜像,私有仓库和dockerhub上都会显示;
不加搜索私有仓库,需要命令中指定私有仓库ip
使用仓库中的镜像
查询私有仓库中的所有镜像,使用dockersearch命令:
curl-umyuserhttps://registry_ip:5000/v1/search curlregistry_ip:5000/v1/search
dockersearchregistry_ip:5000/#centos7 dockersearchregistry_ip:5000/library#centos6
查询仓库中指定账户下的镜像,则使用如下命令:
dockersearchregistry_ip:5000/account/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。