我正在尝试在容器中安装apach2, libapache2-mod-wsgi-py3 and openssl
。我删除了一些软件包并修复了Dockerfile
中的拼写错误,但错误仍然存在。
当我运行docker-compose build
时,我的设置运行正常,直到它点击我正在初始化此安装的Dockerfile
中的部分,我发现了这个错误:
E: Unable to locate package RUN
E: Unable to locate package apt-get
E: Unable to locate package install
ERROR: Service 'web' failed to build: The command '/bin/sh -c apt-get update && apt-get install -y apache2 libapache2-mod-wsgi-py3 curl dpgk-sig RUN apt-get install -yq openssh-server' returned a non-zero code: 100
您可以查看整个安装过程here,这是我的Dockerfile
:
FROM ubuntu:16.04
FROM python:3.5
ENV PYTHONUNBUFFERED 1
RUN cat /etc/passwd
RUN cat /etc/group
RUN apt-get update && apt-get install -y \
apache2 \
libapache2-mod-wsgi-py3 \
RUN apt-get install -y openssl
RUN mkdir /var/run/sshd
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code
EXPOSE 80
ADD config/apache/000-default.conf /etc/apache/sites-available/000-default.conf
ADD config/start.sh /tmp/start.sh
ADD src /var/www
RUN chown -R root:www-data /var/www
RUN chmod u+rwx,g+rx,o+rx /var/www
RUN find /var/www -type d -exec chmod u+rwx,g+rx,o+rx {} +
RUN find /var/www -type f -exec chmod u+rw,g+rw,o+r {} +
#essentially: CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"]
CMD ["/tmp/start.sh"]
有人能解释我为什么会这样,以及如何解决它,谢谢。
答案 0 :(得分:1)
你的问题就在这一行:
libapache2-mod-wsgi-py3 \
\
是一个延续,它看到的下一件事是RUN
所以将它视为一个包(它无法找到)。丢失\
,它应该可以正常工作。