簡體   English   中英

如何在部分隔離的主機上的 docker 容器內運行 yum?

[英]How to run yum inside a docker container on a partially isolated host?

我有一台位於半隔離網絡上的機器。 我必須使用代理連接到互聯網。 我已經驗證在我的主機上,設置 http_proxy 環境變量后,我可以從公共 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 命令。 根據需要導出任何代理環境變量。

就像 danday74 說的,你必須使用' export https_proxy=http...'。 在我的環境中工作。 為了安全起見,我同時導出了 http_proxy 和 https_proxy。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM