【发布时间】:2019-07-19 11:52:23
【问题描述】:
我对 Docker 有一个奇怪的问题。
这是有问题的 Dockerfile。
FROM python:2.7
RUN apt-get update && apt-get install -y \
build-essential \
python-lxml \
python-dev \
python-pip \
python-cffi \
libcairo2 \
libpango1.0-0 \
libpangocairo-1.0.0 \
libxml2-dev \
libxslt1-dev \
zlib1g-dev \
libpq-dev \
libjpeg-dev \
libgdk-pixbuf2.0-0 \
libffi-dev \
mysql-client \
shared-mime-info
# ... further docker file rules, which doesn't get run cause apt-get fails
我遇到的问题是在我的开发机器上,这个 Dockerfile 构建
非常好,但是在我们的实时服务器上它突然失败了(在
过去),E: Package 'mysql-client' has no installation candidate。
我认为 Docker 的意义在于一切都使用相同的映像运行,并且 你不应该遇到这样的问题。
为什么会出现这种情况,我该怎么做才能从这里修复它,以便它运行 开发版和直播版都一样吗?
【问题讨论】:
-
您确定在生产服务器上没有代理的情况下可以访问 Internet 吗? apt(-get) update 的输出显示了什么?
-
所有其他软件包都已下载并安装好。只有
mysql-client,换句话说,如果我注释掉mysql-client,图像就会生成。 -
如果你设置了一个 Docker 注册中心,并在那里
docker push成功构建的镜像,那么远程系统可以docker pull它并且不必重复此步骤。 -
在我的机器上也失败了。不确定你的开发机器是如何构建它的
-
“我认为 Docker 的意义在于一切都使用相同的映像运行”。这不是你在这里所做的:你正在重建图像。
标签: mysql docker dockerfile