我用index.php文件创建了一个docker卷。 现在,每次我运行一个新容器时我想要mount这个文件(我知道该怎么做),但是如果我想将mysqli extension添加到任何新容器中, 可能吗????

docker run -d -it -p 80:80 test --name=www1 --mount source=myvol1,destination=/var/www/html php:7.2.2-apache ----
docker-php-ext-install mysqli
分析解答

看到这张图片的Dockerfile&它是入口点

如果在docker run末尾添加命令来安装扩展,它将作为入口点的CMD,它将使apache2-foreground无法启动。

所以,运行时的唯一方法是:

第1步:启动容器

docker run -d -it -p 80:80 --name=www1 --mount source=myvol1,destination=/var/www/html php:7.2.2-apache 

第2步:使用exec安装扩展

docker exec -it www1 docker-php-ext-install mysqli

Step3:重启容器:

docker stop www1 && docker start www1

事实上,执行此操作的典型方法是在您自己的dockerfile中自定义它,但它可能不是您想要的:

Dockerfile:

FROM php:7.2.2-apache
RUN xxx // install things as you like here