在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了