【发布时间】:2021-09-30 22:45:55
【问题描述】:
我正在尝试在 docker 中构建一个映像,但在它编译后,我执行 docker-compose up 并退出。
我正在使用的 docker 文件包含以下说明:
FROM circleci/php:7.3-cli-node-browsers
USER root
WORKDIR /var/www/html
RUN apt-get update && apt-get install -y \
libpng-dev \
zlib1g-dev \
zip \
curl \
&& docker-php-ext-install gd \
&& apt-get install -y zip \
&& apt-get install -y unzip \
&& apt-get install -y git \
&& apt install -y libsqlite3-dev zlib1g-dev \
&& docker-php-ext-install bcmath && docker-php-ext-enable bcmath \
&& docker-php-ext-install pcntl \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-install exif \
&& pecl install imagick \
&& docker-php-ext-enable imagick
RUN pecl install redis && docker-php-ext-enable redis
COPY .docker/vhost.conf /etc/apache2/sites-available/000-default.conf
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
WORKDIR /var/www/html
COPY / /var/www/html
RUN composer self-update
RUN composer install -n --prefer-dist
RUN npm install
RUN npm run test
RUN chmod -R 777 /var/www/html
RUN chmod -R o+w /var/www/html/storage
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
RUN ln -s /usr/local/bin/docker-entrypoint.sh / # backwards compat
ENTRYPOINT ["docker-entrypoint.sh"]
这是一个 laravel 项目,带有节点和 Redis。任何想法为什么它不起作用?
提前感谢您的帮助。
【问题讨论】:
-
运行时容器日志中有什么内容?
docker-entrypoint.sh脚本中有什么内容? -
@DavidMaze docker-entrypoint.sh : #!/bin/sh env >> /etc/environment echo "--> 运行节点" #npm run prod echo "--> 运行 Artisan 缓存清除" php artisan route:clear php artisan cache:clear php artisan storage:link echo "--> 启动应用" # exec apache2 -D FOREGROUND exec apache2-foreground "$@"
-
即使我删除 .sh 的行,它也不会运行
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
-
我已经使用包含 Apache 的不同图像解决了它。这就是问题所在(缺少 apache)
标签: php node.js docker docker-compose