【发布时间】:2021-09-30 13:54:54
【问题描述】:
您好,我正在尝试在我的新系统上设置 docker,并尝试使用 docker 使 Laravel 项目工作。在这种情况下,我正在尝试使用以下 Dockerfile 构建图像,该文件将安装 Nginx 和 php.ini。我正在使用 M1 苹果硅 MacBook,在尝试构建它时遇到了一些问题。
我的 Dockerfile
FROM ubuntu:16.04
RUN apt-get update \
&& apt-get install -y locales \
&& locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
RUN apt-get update \
&& apt-get install -y nginx curl zip unzip git software-properties-common supervisor \
&& add-apt-repository -y ppa:ondrej/php \
&& apt-get update \
&& apt-get install -y php7.0-fpm php7.0-cli php7.0-mcrypt php7.0-gd php7.0-mysql \
php7.0-pgsql php7.0-imap php-memcached php7.0-mbstring php7.0-xml php7.0-curl \
php7.0-sqlite3 php7.0-xdebug \
&& php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer \
&& mkdir /run/php \
&& apt-get remove -y --purge software-properties-common \
&& apt-get -y autoremove \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& echo "daemon off;" >> /etc/nginx/nginx.conf
RUN ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log
COPY default /etc/nginx/sites-available/default
COPY php-fpm.conf /etc/php/7.0/fpm/php-fpm.conf
EXPOSE 80
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
CMD ["/usr/bin/supervisord"]
我在尝试构建它时遇到以下错误。
executor failed running [/bin/sh -c apt-get update && apt-get install -y nginx curl zip unzip git software-properties-common supervisor && add-apt-repository -y ppa:ondrej/php && apt-get update && apt-get install -y php7.0-fpm php7.0-cli php7.0-mcrypt php7.0-gd php7.0-mysql php7.0-pgsql php7.0-imap php-memcached php7.0-mbstring php7.0-xml php7.0-curl php7.0-sqlite3 php7.0-xdebug && php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer && mkdir /run/php && apt-get remove -y --purge software-properties-common && apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && echo "daemon off;" >> /etc/nginx/nginx.conf]: exit code: 100
【问题讨论】:
-
您尝试过什么来解决问题?为什么不将那么长的
RUN拆分成多个,以确定是哪一行导致了问题? -
我看到这里发生了问题 php7.0-sqlite3 php7.0-xdebug
-
这是什么意思?除了 PHP 7.0 已经过时了之外,还发生了哪些“问题”
-
也许他发现了他在帖子中写的那个错误。因此,也许尝试将所有与 php 相关的内容更改为 8 版本会解决。