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

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐