docker - 在以不同docker-compose文件描述并在不同docker-machines中运行的容器之间创建NFS共享

标签 docker docker-compose docker-machine nfs

我的计算机中具有以下设置:

  • 为项目A的容器设置一个docker-machine。我有docker-compose.yml文件,描述了必须构建的容器,要安装的卷等,以及每个容器的Dockerfile
  • 我的Project B容器的另一个docker-machine设置,带有docker-compose.ymlDockerfile

  • 现在,我想在项目A中的一个容器(我们称为容器1)和项目B中的另一个容器(容器2)之间进行NFS共享。

    我正在检查this之类的链接,但是据我了解,那是针对同一网络中的容器的。在这种情况下,我的容器1和容器2不在同一网络中,并且它们在不同的机器中。

    我在运行docker-machinedocker-compose.yml文件时没有指定任何联网选项(除了公开我的应用程序使用的端口之外)。

    如何在这两个容器之间共享NFS?

    最佳答案

    “docker-compose up”命令通过名称[projectname] _default创建一个网络,并且docker-compose.yml文件中指定的所有服务都将映射到创建的网络。

    例如,假设您的应用程序位于名为myapp的目录中,并且docker-compose.yml如下所示:

     version: "3"
     services:
        web:
          build: .
          ports:
            - "8000:8000"
        db:
          image: postgres
          ports:
             - "8001:5432"
    

    当您运行docker-compose up时,会发生以下情况:
     1) A network called myapp_default is created.
     2) A container is created using web’s configuration. It joins the network myapp_default under the name web.
     3) A container is created using db’s configuration. It joins the network myapp_default under the name db.
    

    并且,如果您希望其他服务使用已创建的现有docker网络,则需要使用“外部”选项进行定义

    使用预先存在的网络

    如果您希望容器加入预先存在的网络,请使用外部选项:
    networks:
       default:
         external:
           name: my-pre-existing-network
    

    Compose不会尝试创建一个名为[projectname] _default的网络,而是查找一个名为my-pre-existing-network的网络并将您的应用程序的容器连接到该网络。

    来源:https://docs.docker.com/compose/networking/#use-a-pre-existing-network

    关于docker - 在以不同docker-compose文件描述并在不同docker-machines中运行的容器之间创建NFS共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52964210/

    相关文章:

    docker - 从 kubernetes 部署 yaml 运行容器时如何添加 "-v/var/run/docker.sock:/var/run/docker.sock"

    django - Docker-Compose 工作流,docker-compose down?

    docker - Amazon Linux EC2 服务器上的/etc/default/docker 文件在哪里?

    linux - Docker 安装在用户家

    docker - 在单台机器上自动部署dockerized应用程序

    jenkins - 配置 Jenkins 作业以通过 ansible 安装 Docker

    docker - Gitlab运行程序未执行作业Docker镜像

    mysql - Docker:连接到 mysql 时遇到问题,网络问题?

    node.js - 服务容器无法使用 docker-compose 连接到 MongoDB 容器

    ubuntu - Docker - 无法连接到 Docker 守护进程