【发布时间】:2019-03-01 17:20:44
【问题描述】:
我正在尝试运行带有php7.3-alpine 图像的Swoole 版本。
运行时,一切都会正确构建,并且所有扩展都会正确安装。但是,在执行 docker-compose up 时,我会卡在 Interactive shell 中,然后以代码 0 退出,因此容器实际上无法正确启动。
我能做些什么来阻止这个问题并阻止它运行交互式 shell?
FROM composer:latest as builder
WORKDIR /app
RUN composer global require hirak/prestissimo
COPY . /app/
RUN composer install \
--no-ansi \
--no-dev \
--no-interaction \
--no-progress \
--optimize-autoloader \
--ignore-platform-reqs
RUN rm -rf docker/ composer.json composer.lock && \
touch /app/storage/logs/lumen.log
FROM php:7.3-alpine
ENV PHP_OPCACHE_VALIDATE_TIMESTAMPS=0 \
PHP_OPCACHE_MAX_ACCELERATED_FILES=7963 \
PHP_OPCACHE_MEMORY_CONSUMPTION=192
RUN set -ex \
&& apk update \
&& apk add --no-cache libffi-dev icu libsodium \
&& apk add --no-cache --virtual build-dependencies icu-dev g++ make autoconf libsodium-dev \
&& docker-php-source extract \
&& pecl install swoole redis sodium \
&& docker-php-ext-enable redis swoole sodium \
&& docker-php-source delete \
&& docker-php-ext-install -j$(nproc) pdo_mysql intl \
&& cd / && rm -fr /src \
&& apk del build-dependencies \
&& rm -rf /tmp/*
COPY --from=builder --chown=www-data:www-data /app /var/www
COPY docker/php.ini /usr/local/etc/php/php.ini
USER www-data
WORKDIR /var/www
EXPOSE 1215
docker-compose.yml
web:
build:
context: .
dockerfile: docker/Dockerfile
ports:
- "80:1215"
env_file:
- .env
输出
web_1 | Interactive shell
web_1 |
web_1 exited with code 0
【问题讨论】:
-
如果 docker 镜像构建没有问题,您需要提供 docker-compose.yml 文件以便进一步调试
-
添加了 docker-compose.yml
标签: php docker docker-compose dockerfile