无法在 Docker 中的 ubuntu 16.04 上安装 openssh-server

Posted

技术标签:

【中文标题】无法在 Docker 中的 ubuntu 16.04 上安装 openssh-server【英文标题】:Unable to install openssh-server on ubuntu 16.04 in Docker 【发布时间】:2020-05-01 10:42:48 【问题描述】:

我正在运行 Docker for Mac,运行最新版本 2.1.0.5。我的同事在 Windows 和 Ubuntu 上运行 Docker 都没有问题。

我有一个全新安装的 Ubuntu 16.04 的 Docker 容器,安装 openssh-client 后我无法成功安装 openssh-server

我确保按照这里的指示进行操作:

https://help.ubuntu.com/lts/serverguide/openssh-server.html

我正在运行的命令是...

apt-get clean
apt-get update
apt-get install -y --fix-missing openssh-server

这会导致以下错误。

E: 无法获取http://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/ncurses-term_6.0+20160213-1ubuntu1_all.deb Bad header line Bad header data [IP: 91.189.88.174 80]

我注意到它试图从中获取文件的 URL 是 http://archive.ubuntu.com 而不是 us.archive.ubuntu.com,我认为这没关系,但不确定为什么会有差异。

我可以在浏览器中成功 ping 并导航到 http://archive.ubuntu.com

$ ping archive.ubuntu.com

PING archive.ubuntu.com (91.189.88.173):56 个数据字节

来自 91.189.88.173 的 64 字节:icmp_seq=0 ttl=52 time=94.518 ms

我可以在浏览器中成功 ping 并导航到 us.archive.ubuntu.com

$ ping us.archive.ubuntu.com

PING us.archive.ubuntu.com (91.189.91.24):56 个数据字节

来自 91.189.91.24 的 64 个字节:icmp_seq=0 ttl=54 time=33.831 ms

【问题讨论】:

【参考方案1】:

如果我离开 http://,我可以 ping 通

理解协议的好答案:https://superuser.com/a/930503

起初,我会说这是在代理后面的错误,但您似乎能够 ping 那些服务器。所以 DNS,检查/etc/resolv.conf

【讨论】:

感谢您的信息,我记得听说 ping 的工作方式不太一样。我也想到了代理问题,但我什至可以直接访问完整的 URL,并通过浏览器下载文件……所以我知道文件在那里。也许问题出在Bad header line Bad header data [IP: 91.189.88.174 80]

以上是关于无法在 Docker 中的 ubuntu 16.04 上安装 openssh-server的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Docker 中的 ubuntu 16.04 上安装 openssh-server

Ubuntu16.0(18.04)安装php(7.0 7.1 7.3.7.4)

ubuntu 16.0 利用ant编译 hadoop-eclipse-plugins2.6.0

initctl:无法连接到 Upstart:无法连接到套接字 /com/ubuntu/upstart:docker 映像中的连接被拒绝

docker使用记录

安装ubuntu-server16.0,设置WiFi