gpt4 book ai didi

docker - 如何在部分隔离的主机上的 docker 容器内运行 yum?

转载 作者:行者123 更新时间:2023-12-02 20:23:29 25 4
gpt4 key购买 nike

我有一台位于半隔离网络上的机器。我必须使用代理连接到互联网。我已经验证在我的主机上,设置 http_proxy 环境变量后,我可以从公共(public) yum 存储库接收更新。

现在我试图在我机器上的 docker 容器中做同样的事情,但它似乎不起作用。

$docker run --rm -it --net=host rhel /bin/bash
[root@MyCont] http_proxy=http://myproxy:1234/
[root@MyCont] echo -e "[base] \nname=CentOS-7 - Base - centos.com\nbaseurl=http://mirror.centos.org/centos/7/os/\$basearch/\ngpgcheck=1\ngpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7" > /etc/yum.repos.d/CentOS7-Base-centos.repo \
&& yum clean all \
&& yum install -y openssh-server openssh-clients

我在主机网络模式下启动了我的容器,所以我假设我应该在我的容器中拥有与我的主机相同的网络堆栈。因此,如果我正确设置了 http_proxy,我应该在容器内外具有相同的 yum 行为。

是否可以在主机位于需要 http_proxy 访问 yum 的半隔离网络上的 docker 容器中运行 yum?

最佳答案

您应该在构建的镜像中安装软件

因此在你的 dockerfile 中使用 yum install

但是,如果由于某种原因您需要在容器内 yum,那么......

docker run -e http_proxy=http://10.9.2.2:8080

请注意,如果 yum install 不起作用,请尝试...
yum update

首先 - 出于某种原因,这有帮助!

也用...
docker exec -it containerName bash

进入容器,然后尝试执行你的 yum 命令。根据需要导出任何代理环境变量。

关于docker - 如何在部分隔离的主机上的 docker 容器内运行 yum?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36015179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com