安装Docker
// 仅此一条命令就可以搞定
yum -y install docker-io
// 启动Docker
// 同理,stop、restart意味着停止、重启Docker
service docker start
// 加入开机启动
chkconfig docker on
搭建私有库服务
// 这里下载registry 2.5.0版本
docker pull registry:2.5.0
// 防火墙添加运行5000端口
iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT
// 1. 通过registry镜像启动一个容器服务
// 2. 端口绑定到5000
// 3. 服务名称为:bigdata_docker_registry
// 4. 2.5.0版本的私有库服务默认镜像保存路径为:/var/lib/registry,这里我们将路径映射到宿主机的/data/docker_registry目录
docker run -d -p 5000:5000 --name bigdata_docker_registry --privileged=true -v /data/docker/registry:/var/lib/registry docker.io/registry:2.5.0
修改配置,解决HTTPS证书报错问题
修改/etc/sysconfig/docker
(Ubuntu下配置文件地址为:/etc/init/docker.conf
),增加启动选项(已有参数的在后面追加),之后重启docker,不添加报错,https证书问题。
OPTIONS='--insecure-registry 10.0.11.151:5000' #CentOS 7系统
other_args='--insecure-registry 10.0.11.151:5000' #CentOS 6系统
因为Docker从1.3.X之后,与docker registry交互默认使用的是https,而此处搭建的私有仓库只提供http服务
https报错
若出现下面错误:
Get https://10.0.11.151:5000/v1/_ping: http: server gave HTTP response to HTTPS client
解决方法:
在 /etc/docker/ 目录下,创建”daemon.json“文件。在文件中写入:
{ "insecure-registries":["10.0.11.151:5000"] }
若文件中已经有别的配置,则根据json规则填写。
上传镜像
镜像打tag
docker tag python/centos:v1.0 10.0.11.151:5000/python/centos/v1.0
上传
docker push 10.0.11.151:5000/python/centos/v1.0