我有一个 docker-container.yml
mycontainer:
image: someimage
volumes:
- ./backup:/backup
在真正的 linux docker 安装上,将使主机 docker 机器的 ./backup
出现在容器中的 /backup
虽然有 3 台机器,但使用 docker-compose 和 docker-machine
- 主持人
- 运行 linux 和 docker 的虚拟机
- 容器
我遇到的问题是我试图从运行 docker 的机器的 POV 编写一些脚本。但是因为 docker-compose + docker-machine 没有将虚拟机 ./backup 挂载到容器中,所以我的脚本不起作用。
有没有办法让 ./backup
出现在 VM 中。要么
(a) 它以某种方式存在于所有 3 台机器中,或者 (b) 它仅存在于 VM 和容器中,因此它与生产相匹配。
如果不清楚(我相信这会使它不太清楚)总是有 3 台机器
开发中
[my laptop] -> [vm running docker] -> [container]
制作中
[my laptop] -> [remote machine running docker] -> [container]
我正在尝试编写一些在笔记本电脑上运行的维护脚本。他们通过 ssh 连接到 docker 机器(本地 VM 或远程)并做一些事情。但是他们需要看起来一样的东西(我认为这就是 docker 的意义所在。它总是应该是一样的)。但在这种情况下不是
在 Dev 中运行 docker-compose up -d
我明白了
[my laptop] -> [thing running docker] -> [container]
| |
(./backup) ------------------------------>(/backup)
在生产环境中也运行 docker-compose up -d
我明白了
[my laptop] -> [thing running docker] -> [container]
| |
(./backup) ------------->(/backup)
我需要 Dev 要么是这个
[my laptop] -> [thing running docker] -> [container]
| |
(./backup) ------------->(/backup)
或者这个
[my laptop] -> [thing running docker] -> [container]
| | |
(./backup) ------>(./backup) ------------>(/backup)
最佳答案
如果您将 docker-machine
与 virtualebox 一起使用,它应该将您的主目录挂载为 VM 中的共享文件夹。如果 ./backup
不在您的主目录中,您需要添加另一个共享文件夹,以便机器可以正确看到它。
关于docker - 使用 docker-compose 在容器中安装 docker-machine VM 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33331820/