【问题标题】:apt-get time out on docker-container在 docker-container 上 apt-get 超时
【发布时间】:2023-03-22 22:37:01
【问题描述】:

一般信息: 我有一个在 Ubuntu 18.04.1 LTS 上运行的 docker 容器。 容器本身也在 ubuntu 上运行。 我支持公司代理。

问题: 当我尝试运行“apt-get update”时,每次都会收到“连接超时”错误。 当我尝试 ping 一个 ip 时,它只是卡住并且没有响应。

我尝试了什么:

为 DNS 和代理编辑了 /etc/default/docker 编辑 /etc/systemd/system/docker.service.d/http-proxy.conf 我的主机可以完全访问互联网。当我在 docker 容器上运行 apt-get update 或任何其他命令时,它会识别服务的 ip,但随后就会超时。

==> 在 AWS EC2 Maschine 上运行 quorum-maker (https://github.com/synechron-finlabs/quorum-maker#setting-up-quorum-network-on-multiple-machines)

【问题讨论】:

    标签: amazon-web-services docker ubuntu amazon-ec2 quorum


    【解决方案1】:

    您必须在图像内定义代理。这通常在 Dockerfile 上创建映像时完成

    # Define environment variable ENV http_proxy=http://my_username:my_password@my_host:port ENV https_proxy=https://my_username:my_password@my_host:port

    不确定如何在 AWS 上的映像中完成此操作...但您可能可以使用 export 在容器内设置环境变量,这应该足够了,但这仅适用于该会话。如果可能,重新排列图像(重新构建)设置代理环境变量。

    【讨论】:

    • 您好,感谢您的快速帮助!我使用的图像是从 GitHub 存储库预构建的......我将尝试更改容器内的环境变量,然后 docker commit
    • 我尝试使用“export”设置环境变量,现在我得到“无法解析
    • 尝试设置环境变量,但将所有 dns 保留为默认状态...所以撤消您在 dns 上所做的操作。
    • 将 /etc/default/docker 中的 DNS 设置改回默认值,重启 docker 并启动一个新容器,导出 http_proxy=username:password@proxy:8080 export https_proxy=username:password@proxy:8080 还是一样的错误:无法解析“代理”...
    • 很奇怪......它应该可以工作。你有机会使用 github 的 Dockerfile 构建镜像吗?尝试构建它设置环境变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多