这是一个很奇怪的坑。
使用DockerHub中提供的DockerCompose文件安装MediaWiki。
初始化安装后一切顺利。在初始化的最后也生成了一个LocalSettings.php文件,也自动下载到了本地。
通过WinScp工具将这个文件上传到了DockerCompose.yml所在目录。
也修改了dockercompose文件,将其中的挂在LocalSettings.php的行的注释也取消掉了。
这时再去访问刚刚搭建的这个Wiki时,一直提示,LocalSettings.php找不到。一直卡在初始化安装界面。
我在主机上给LocalSettings.php文件为777的权限。但也无济于事。
最后,我想到干脆将这个文件COPY到容器的内部。没想到成功了。但是这样做按理说从起容器后,应该失效才是。所以我就重启了容器,但是它还是好的。我通过compose命令重启,也是好的。
奇怪了。
解决方案就是
进入容器内部,将主机上的这个文件Copy到容器内部。
其实还有一些验证手段,比如,将容器内部的这个文件修改一下内容,比如数据库连接参数,测试一下。它是用的容器内部还是主机上映射的。通过验证,发现并没有加载Host上的配置文件。
因为奇怪,所以记录一下。
---------------------------------------找到问题并解决分割线--------------------------------------------------------
找到问题了,使用DockerCompose重启Docker命令,是使用
sudo docker compose down
sudo docker compse up -d
这种情况下才会去重新加载Dockercompose.yml文件中新的配置。
sudo docker compose stop
sudo docker compsoe start
这种情况下是不会重新加载dockercopose.yml文件中的配置的。只是将当前的dockercompose.yml文件中的容器重启一下而已。
还是对docker compose不熟导致的问题。
😮💨。
Comments