docker - 使用 docker-compose 在容器中安装 docker-machine VM 文件夹

标签 docker boot2docker docker-compose docker-machine

我有一个 docker-container.yml

mycontainer:
  image: someimage
  volumes:
   - ./backup:/backup

在真正的 linux docker 安装上,将使主机 docker 机器的 ./backup 出现在容器中的 /backup

虽然有 3 台机器,但使用 docker-compose 和 docker-machine

  1. 主持人
  2. 运行 linux 和 docker 的虚拟机
  3. 容器

我遇到的问题是我试图从运行 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/

相关文章:

node.js - 为什么 `package-lock.json` 在 `npm install` 时会导致 docker 容器构建失败?

mysql - Artifactory 无法连接到主机 mysql

eclipse - 如何在Eclipse中使用 “Remote Systems” View 探索Docker容器文件系统?

mongodb - 开发:Express和Mongo Docker容器网络

docker - 根据环境在Dockerfile中调用不同的命令

ubuntu - 端口被阻止 : Can't install Docker Universal Control Plane on Ubuntu guest using VMware

docker - 是否可以在 Azure DevOps Pipeline 中运行 GitHub Workflow Actions?

ssl - 找不到 Docker 机器 : ca. pem

docker - 从 Windows 卸载 docker - Docker 工具箱

mysql - Docker MYSQL '[2006] MySQL server has gone away'