免责声明/编辑2
几年后,对于每个读到这个问题的人 - 如果您在 Windows 上并且想要将 docker 与 Linux 容器一起使用,我强烈建议根本不要在 Windows 上使用 docker,而是完全在虚拟机内启动整个 docker 环境。这个 Ext3 NTFS 问题会在很多不同层面上折断你的脖子,以至于安装 docker-machine 甚至可能不值得。
Edit:
我在用docker-machine https://docs.docker.com/machine/overview/它在 Virtualbox VM 内启动一个 boot2docker 实例,并在 /c/Users 上有一个共享文件夹,您可以从中将卷挂载到容器中。上述卷的权限是问题所在。 VM 存储在 /c/Users/tom/.docker/ 下
我选择使用docker-machine
Virtualbox 工作流程优于 Hyper-V,因为我的日常工作流程中需要 VBox,并且由于不同虚拟机管理程序之间的不兼容,不可能在一个系统上同时运行 Hyper-V 和 Virtualbox。
原问题
我目前正在尝试在 Windows 上的容器中设置 PHPMyAdmin,但我无法更改config.inc.php
file.
我发现:无法在 Docker 容器内调用 chown (Docker for Windows) https://stackoverflow.com/questions/40834349/cannot-call-chown-inside-docker-container-docker-for-windows并认为这可能有些相关,但它似乎仅适用于 MongoDB。
这是我的 docker-compose.yml
version: "3"
services:
pma:
image: (secrect company registry)/phpmyadmin
ports:
- 9090:80
volumes:
- /c/Users/tom/projects/myproject/data/var/www/public/config.inc.php:/var/www/public/config.inc.php
现在,当我docker exec -it [container] bash
并更改安装目录,我尝试运行chmod
on the config.inc.php
但由于某种原因,它失败了silently.
root@22a4bag43245: ls -la config.inc.php
-rw------- 1 root root 0 Aug 11 15:11 config.inc.php
root@22a4bag43245: chmod 655 config.inc.php
root@22a4bag43245: ls -la config.inc.php
-rw------- 1 root root 0 Aug 11 15:11 config.inc.php
考虑到链接的答案,我想我可以将卷移出我的用户主目录,但 vbox 根本不会安装该文件夹。
如何更改文件权限/var/www/public/config.inc.php
坚持不懈?