0

尝试构建一个简单的 ubuntu apache Web 服务器 docker 映像,当 docker build 命令尝试安装软件包时出现错误。我正在使用 Docker 中的 Ubuntu 基础映像来执行此操作。下面是我的 Dockerfile 中的代码;

FROM ubuntu
RUN apt-get update
RUN apt-get install apache2
RUN apt-get install apache2-utils
RUN apt-get clean
EXPOSE 80
CMD ["apache2ctl", "-D", "FOREGROUND"]

我的主机操作系统是 Mac OSX El Capitan,构建失败时我得到的错误是;

The command '/bin/sh -c apt-get install apache2' returned a non-zero code: 1

我的 docker build 命令是;

docker build -t="webserver" .

请提供任何帮助。提前致谢。

4

1 回答 1

2

您应该在构建映像时使用 '-y' apt-get 标志。

apt-get 将询问您是否允许继续安装 apache,并且由于在构建映像时您无法与 apt-get 交互,因此您必须将表示“是”的“-y”标志传递给 apt-get 提示符。

尝试将其更改为:

FROM ubuntu
RUN apt-get update
RUN apt-get install apache2 -y
RUN apt-get install apache2-utils -y
RUN apt-get clean
EXPOSE 80
CMD ["apache2ctl", "-D", "FOREGROUND"]

甚至:

FROM ubuntu
RUN apt-get update && apt-get install apache2 apache2-utils -y
RUN apt-get clean
EXPOSE 80
CMD ["apache2ctl", "-D", "FOREGROUND"]
于 2017-08-12T16:07:04.987 回答