Php docker装入卷,但将文件保存在docker容器中
我使用Dockerfile来构建php的映像,但默认情况下,php没有php.ini文件。所以我需要创造它。现在我有三种方法可以做到这一点:Php docker装入卷,但将文件保存在docker容器中,php,docker,Php,Docker,我使用Dockerfile来构建php的映像,但默认情况下,php没有php.ini文件。所以我需要创造它。现在我有三种方法可以做到这一点: 在Dockerfile中使用RUN命令运行cp/usr/local/etc/php/php.ini-production/usr/local/etc/php/php.ini。但这种方式仍然使用默认设置,我不能编辑它(或者编辑它并提交容器) 在DockerfileCOPY php.ini/usr/local/etc/php/php.ini中使用COPY命令
中使用RUN命令运行cp/usr/local/etc/php/php.ini-production/usr/local/etc/php/php.ini
。但这种方式仍然使用默认设置,我不能编辑它(或者编辑它并提交容器)
COPY php.ini/usr/local/etc/php/php.ini
中使用COPY命令。好的,现在我可以编辑配置,然后构建映像,但是如果我需要更改一些设置,我需要重建映像
-$PWD/php/conf.d:/usr/local/etc/php/conf.d/my_config
中。通过这种方式,我可以随时编辑php.ini,只需重新加载配置文件。但是,我想知道的最好的方法是-$PWD/php/conf.d:/usr/local/etc/php/conf.d
。第一种方法将在docker容器中创建一个新的子文件夹,第二种方法将删除最初位于该文件夹中的*.ini文件
我想知道这里是否有某种方法可以装载volumn,并且不删除容器中的文件(第二种方法是3,但不删除文件)实际上,文件并没有从子文件夹中删除。卷被安装在它上面
您可以做的是,为
*.ini
文件分配一个单独的文件夹,并从主php.ini
文件中引用它。因此,每次重新加载php时,它都会转到php.ini
,然后从那里获得您的专用配置文件夹,并从那里加载所有*.ini
文件。您应该能够使用相同的卷装入语法来装入单个文件。@DavidMaze我忘记了这种方式,只装入一个文件。现在它起作用了。谢谢你的提醒