在push镜像到本地registry时,出现以下错误:
]# docker push 192.168.163.131:5000/test The push refers to a repository [192.168.163.131:5000/test] 9ec45e5f0334: Retrying in 1 second 33f1a94ed7fc: Retrying in 1 second b27287a6dbce: Retrying in 1 second 47c2386f248c: Retrying in 1 second 2be95f0d8a0c: Retrying in 1 second 2df9b8def18a: Waiting received unexpected HTTP status: 500 Internal Server Error
查看/var/log/message
May 16 02:03:58 localhost setroubleshoot: SELinux is preventing /bin/registry from add_name access on the directory docker. For complete SELinux messages. run sealert -l b73b5d67-41a3-468e-9ccb-abf55211932a May 16 02:03:58 localhost python: SELinux is preventing /bin/registry from add_name access on the directory docker. ***** Plugin catchall_labels (83.8 confidence) suggests ******************* If you want to allow registry to have add_name access on the docker directory Then you need to change the label on docker Do # semanage fcontext -a -t FILE_TYPE 'docker' where FILE_TYPE is one of the following: cgroup_t, container_var_lib_t, nfs_t, svirt_home_t, svirt_sandbox_file_t, virt_home_t. Then execute: restorecon -v 'docker'
将selinux禁用
# setenforce 0
# getenforce
Permissive
禁用之后就可以push了