gpt4 book ai didi

laravel - Docker/user/sbin/apache2ctl:找不到

转载 作者:行者123 更新时间:2023-12-02 20:37:27 25 4
gpt4 key购买 nike

这个问题不是“/bin/sh: 1: “apache2ctl”,: not found” in docker的重复

这是我在ubuntu操作系统中用于laravel框架的简单docker文件。

version : '3'

services:
web:
container_name: ${APP_NAME}_web
build:
context: ./docker/web
ports:
- 9000:80
volumes:
- ./:/var/www/app

这是位于docker / web中的docker文件
FROM php:7.2.10-apache-stretch

RUN apt-get update -yqq && \
apt-get install -y apt-utils zip unzip && \
apt-get install -y nano && \
apt-get install -y libzip-dev libpq-dev && \
a2enmod rewrite && \
docker-php-ext-install pdo_pgsql && \
docker-php-ext-install pgsql && \
docker-php-ext-configure zip --with-libzip && \
docker-php-ext-install zip && \
rm -rf /var/lib/apt/lists/*

RUN php -r "readfile('http://getcomposer.org/installer');"|php -- --install-dir=/usr/bin --filename=composer

COPY Default.conf /etc/apache2/sites-enabled/000-default.conf

WORKDIR /var/www/app

EXPOSE 80

CMD ['/usr/sbin/apache2ctl', '-D', 'FOREGROUND']

当我运行此命令
sudo docker-compose up

终端输出是此错误
Starting Docker_Laravel_web ... done
Attaching to Docker_Laravel_web
Docker_Laravel_web | /bin/sh: 1: [/usr/sbin/apache2ctl,: not found
Docker_Laravel_web exited with code 127

需要一些帮助来解决此问题,

最佳答案

Dockerfile语法具有类似于JSON列表的内容,实际上不是JSON,并且对其引用相当挑剔。特别是在最后一行

CMD ['/usr/sbin/apache2ctl', '-D', 'FOREGROUND']

您必须使用双引号
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]

否则,Docker会将其解释为“在此命令上运行 shell 程序”形式,这就是为什么您在错误消息中看到 [,的原因。

关于laravel - Docker/user/sbin/apache2ctl:找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53348044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com