sim*_*w16 3 provisioning php-extension docker docker-compose
我正在使用 docker 使用应用程序(我不是很熟悉),我需要添加 2 个新的 PHP 扩展。我Dockerfile对现有图像进行了如下更改:
FROM php:7.2-fpm
RUN apt-get update
RUN apt-get install -y git unzip
RUN php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer
RUN apt-get install -y git libpng-dev \
&& docker-php-ext-install gd
RUN apt-get install -y mysql-client \
&& docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \
&& docker-php-ext-install pdo_mysql
RUN apt-get install -y libgmp-dev bcmath \
&& docker-php-ext-configure gmp \
&& docker-php-ext-install gmp \
&& docker-php-ext-install bcmath
RUN pecl install xdebug \
&& docker-php-ext-enable xdebug
ADD docker/templates/usr/local/etc/php/conf.d/uploads.ini /usr/local/etc/php/conf.d/uploads.ini
Run Code Online (Sandbox Code Playgroud)
我的新行是:
RUN apt-get install -y libgmp-dev bcmath \
&& docker-php-ext-configure gmp \
&& docker-php-ext-install gmp \
&& docker-php-ext-install bcmath
Run Code Online (Sandbox Code Playgroud)
我试过了docker-compose restart,我试过docker-compose down了docker-compose up,我完全删除了容器并用up. 不管我怎么努力,我在做一个composer require
您的系统中缺少请求的 PHP 扩展 bcmath。
我不确定为什么会这样。为什么不安装扩展程序,为什么我完全删除内容并在其中写入乱码Dockerfile,它总是成功运行。它缓存了吗?
有人可以解释我如何重新配置我所做的新更改吗?
片段docker-compose.yml:
services:
web:
build:
context: ./
dockerfile: docker/web.docker
working_dir: /var/www
volumes:
- ./:/var/www
ports:
- 81:80
app:
build:
context: ./
dockerfile: docker/app.docker
working_dir: /var/www
volumes:
- ./:/var/www
environment:
- "LARAVEL_ENVIRONMENT=local"
Run Code Online (Sandbox Code Playgroud)
您需要重建图像
docker-compose build
Run Code Online (Sandbox Code Playgroud)
然后重新运行容器
docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
755 次 |
| 最近记录: |