如何修复:docker 容器中的 yum install 错误?

问题描述 投票:0回答:4

我只是想尝试在centos中安装sshd:最新镜像。

我尝试安装“passwd”,输入如下命令:

yum install passwd

但是我有一个这样的错误:

Failed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream                            0.0  B/s |   0  B     00:30    
Errors during downloading metadata for repository 'AppStream':
  - Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=container [Could not resolve host: mirrorlist.centos.org]
Error: Failed to download metadata for repo 'AppStream': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=container [Could not resolve host: mirrorlist.centos.org]

不知道为什么在docker容器中无法使用yum安装?

docker yum
4个回答
1
投票

伪装允许 docker 进出:

    firewall-cmd --zone=public --add-masquerade --permanent

特别允许端口 80/443 上的传入流量:

     firewall-cmd --zone=public --add-port=443/tcp

重新加载防火墙以应用永久规则:

     firewall-cmd --reload

重新启动泊坞窗:

     systemctl restart docker

0
投票

刚刚在我的本地计算机上测试了这个:

docker run -it -d --name test centos:latest;

docker exec -it test /bin/bash;

在 docker 容器中:

[root@f3b8b3fe70df /]# yum update -y;
[root@f3b8b3fe70df /]# yum install passwd;

0
投票

使用

--network host

添加对主机网络的访问
docker run --network host -it -d --name test centos:latest

0
投票

“--network host”选项实际上在我的环境中对我很有用

© www.soinside.com 2019 - 2024. All rights reserved.