无法在 docker 中运行 apt-get update

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

我在从 Docker 映像连接 apt-get 时遇到问题。要重新创建,我可以运行

sudo docker run -it ubuntu /bin/bash

然后输入:

apt-get update

没有失败,机器无法连接,我得到一系列如下所示的错误:

Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/focal/InRelease  Could not connect to ports.ubuntu.com:80 (91.189.88.152), connection timed out

我正在运行 M1 Macbook Pro 并尝试过:

  • 更改 DNS 设置
  • 其他 docker 基础镜像
  • 我能够从其他来源成功下载(例如 pip 安装)
  • 禁用 IPv6
  • 尝试另一个 wi-fi 网络(我没有在任何防火墙后面)

到目前为止,这些都没有帮助,我完全无法

apt-get update
apt-get install
在docker容器中工作。非常感谢您的帮助!

linux macos docker ubuntu apt
5个回答
2
投票

检查您是否启用了专用中继。禁用它为我解决了问题,无需考虑重置 MacBook Pro。

我遇到了同样的问题,在 Safari 中我可以访问

http://ports.ubuntu.com
但在 Chrome 中甚至
wget http://ports.ubuntu.com
在 Docker 上给出了
connection timeout


1
投票
RUN apt-get update -y

尝试运行这个命令,如果有效就告诉我


0
投票

在 docker 中运行

apt-get update
时,我在 Macbook Pro M1 上遇到了几乎相同的问题。我以前使用相同的 Dockerfile 构建图像并且工作正常。

尝试了很多方法(机器重启/重新安装 Docker/删除防病毒软件),问题仍然存在(尝试连接服务器超时)。

不理想,但我的解决方法是切换到 Alpine 图像并运行

RUN apk update
RUN apk add <lib>

幸运的是,我使用的是

golang:1.19.7
,它有一个高山标签
golang:1.19.7-alpine
.


-1
投票

发现我能够在 Safari 中加载这些 URL,但不能在 Chrome 中加载这些 URL——这跟踪了我在使用这台新计算机时遇到的一个持续问题,即某些网站无法在 Chrome 中加载。不知道到底是什么问题——可能是一些奇怪的 DNS 问题——但我的 Mac 恢复出厂设置解决了这个问题。


-2
投票

首先确保你可以

ping
到外部服务。可以试试
ping google.com
.

如果它不起作用,请检查笔记本电脑的防火墙。它可能会阻止

apt
repo.

或者您可以尝试两种选择。首先使用

Dockerfile
,然后使用
docker build

FROM ubuntu
RUN apt update
RUN apt install vim #or any package you want

或者,运行 docker 镜像,然后连接到该镜像并运行。

docker run --name my_ubuntu -d ubuntu

docker exec -it my_ubuntu /bin/bash

然后尝试运行

apt update
命令。

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