【问题标题】:Docker LAMP stack - lstat apache_default: no such file or directory?Docker LAMP 堆栈 - lstat apache_default:没有这样的文件或目录?
【发布时间】:2017-05-24 21:17:17
【问题描述】:

我尝试在桌面上的目录/home/username/Desktop/docker/lamp/ 中安装带有 DockerFile 的 LAMP 堆栈:

FROM ubuntu:16.04

VOLUME ["/var/www"]

RUN apt-get update && \
    apt-get dist-upgrade -y && \
    apt-get install -y \
      apache2 \
      php7.0 \
      php7.0-cli \
      libapache2-mod-php7.0 \
      php7.0-gd \
      php7.0-json \
      php7.0-ldap \
      php7.0-mbstring \
      php7.0-mysql \
      php7.0-pgsql \
      php7.0-sqlite3 \
      php7.0-xml \
      php7.0-xsl \
      php7.0-zip \
      php7.0-soap

COPY apache_default /etc/apache2/sites-available/000-default.conf
COPY run /usr/local/bin/run
RUN chmod +x /usr/local/bin/run
RUN a2enmod rewrite

EXPOSE 80
CMD ["/usr/local/bin/run"]

然后在我的终端上运行它:

$ docker build -t docker-lamp .

Step 4 : COPY apache_default /etc/apache2/sites-available/000-default.conf
lstat apache_default: no such file or directory

我做错了什么?我该如何解决这个问题?

【问题讨论】:

    标签: docker lamp ubuntu-16.04 php-7


    【解决方案1】:

    首先,您是否 100% 确定 apache_default 和 run 文件与 Dockerfile 位于同一目录中?

    【讨论】:

    • are you 100% sure the file apache_default is in the same directory as the Dockerfile?我如何找到这个?
    • 只列出你放置 Dockerfile 的目录的内容
    • 您的意思是在我的终端上执行此操作 - $ ls?
    • 是的,只需一个 ls 并输出结果会有所帮助
    • 怎么会这样?在您的 Dockerfile 中,您将文件 apache_default 复制并从主机运行到容器。当您需要覆盖“正常”行为时,您需要执行此类操作。我可以想象你为什么要覆盖文件 000-default.conf 但我不知道你为什么要覆盖运行脚本。
    猜你喜欢
    • 1970-01-01
    • 2021-06-10
    • 2023-01-02
    • 2019-12-29
    • 1970-01-01
    • 2016-02-15
    • 2021-02-24
    • 1970-01-01
    • 2020-04-27
    相关资源
    最近更新 更多