【发布时间】:2019-09-26 22:04:51
【问题描述】:
我用这样的东西创建了./docker/app/Dockerfile:
FROM php:7.3-apache
RUN a2enmod rewrite
RUN docker-php-ext-install pdo_mysql && docker-php-ext-enable pdo_mysql
(...)
我的 docker-compose:
app:
build: './docker/app/'
image: php:7.3-apache
ports:
- 80:80
volumes:
(...)
我正在尝试构建容器的干净实例。我希望它看起来像第一次构建(我想测试我的 Dockerfile 是否正常并将安装所有必需的包)。
但是在发出命令后:
docker-compose build app 我看到如下警告:
Module rewrite already enabled
warning: pdo_mysql (pdo_mysql.so) is already loaded!
命令docker-compose build --force-rm app 和docker-compose build --force-rm --no-cache app 的工作方式相同。安装一次的包仍然存在,我的 Dockerfile 的命令在构建过程中没有任何意义。
所以我有两个问题:
1) 如何从头开始构建我的应用容器的全新干净版本?
2) 如果docker-compose build 和docker-compose build --force-rm 不构建新镜像,它们的作用是什么?
【问题讨论】:
标签: php apache docker docker-compose