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 存儲驅動。