Docker version 1.12.5建立registry私库
sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
:前面的是宿主机的数据目录(/opt/data/registry),后面是容器数据目录(/var/lib/registry)
修改mesos-slave的/etc/sysconfig/docker配置文件,添加:
other_args=’–insecure-registry 10.19.53.55:5000 –graph=/data/docker/images’
OPTIONS=’–selinux-enabled –insecure-registry 10.19.53.55:5000′
使其可以通过http的方式到私库里pull镜像。
以上内容是之前在在centos6.8上面建立docker私库的总结,当时docker版本很低,现在使用服务器系统版本是centos7,安装的docker版本是1.12.5,使用上面的方式docker registry push报错:Get https://192.168.1.100:5000/v1/_ping: http: server gave HTTP response to HTTPS client。
这个问题可能是由于客户端采用https,docker registry未采用https服务所致。一种处理方式是把客户对地址“192.168.1.100:5000”请求改为http。
目前很多文章都是通过修改docker的配置文件“etc/systemconfig/docker”,重启docker来解决这个问题。但发现docker1.12.15版本并无此文件,根据网上创建此文件,并填入相应内容,重启docker无效果,仍然报此错误。
解决方法:
在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:
{ "insecure-registries":["192.168.1.100:5000"] ,selinux-enabled": true}
--selinux-enabled=true|false 启用 SELinux 支持。缺省值为 false。SELinux 目前不支持 BTRFS 存储驱动。