docker 在push镜像到本地registry出现的500 Internal Server Error

本文介绍了解决在使用Docker推送镜像到本地Registry时遇到的HTTP 500错误的方法。通过调整SELinux设置,具体包括修改文件上下文策略并重新标记目录,最终成功解决了推送问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值