dockerfile 不更新容器
dockerfile not updating container
我正在使用一个使用 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 apt-get install -y libgmp-dev bcmath \
&& docker-php-ext-configure gmp \
&& docker-php-ext-install gmp \
&& docker-php-ext-install bcmath
我尝试了 docker-compose restart
,我尝试了 docker-compose down
,然后是 docker-compose up
,我完全删除了容器并使用 up
重新创建。无论我多么努力,在执行 composer require
时总是会出现此错误
the requested PHP extension bcmath is missing from your system.
我不确定为什么会这样。为什么扩展安装不上,我把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"
您需要重建图像
docker-compose build
和下一个重新 运行 容器
docker-compose up -d
我正在使用一个使用 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 apt-get install -y libgmp-dev bcmath \
&& docker-php-ext-configure gmp \
&& docker-php-ext-install gmp \
&& docker-php-ext-install bcmath
我尝试了 docker-compose restart
,我尝试了 docker-compose down
,然后是 docker-compose up
,我完全删除了容器并使用 up
重新创建。无论我多么努力,在执行 composer require
the requested PHP extension bcmath is missing from your system.
我不确定为什么会这样。为什么扩展安装不上,我把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"
您需要重建图像
docker-compose build
和下一个重新 运行 容器
docker-compose up -d