【问题标题】:Why are files copied to mounted folder from inside the container not appearing in the host folder?为什么从容器内部复制到挂载文件夹的文件没有出现在主机文件夹中?
【发布时间】:2018-05-04 21:32:05
【问题描述】:

当我将主机文件夹挂载到我的 neo4j 容器时,该文件夹中的文件会出现在容器目录中,并且一切正常。但是容器目录内的文件不会出现在相应的主机文件夹中 - 就像容器内的配置文件,位于挂载的 conf 文件夹中。

version: "3"
services:
  cneo4j:
    image: neo4j:3.3.5
    container_name: cneo
    ports:
      - "7474:7474"
      - "7687:7687"
    environment:
      - VIRTUAL_PORT=80
      - VIRTUAL_HOST=db.localhost.vm
      - VIRUAL_ENABLE_SSL=True
      - LETSENCRYPT_HOST=db.localhost.vm
      - LETSENCRYPT_EMAIL=email@example.com
      - CERT_NAME=db.localhost.vm
    volumes:
      - /c/Users/moeter/cmcr/data/graph_main/neo4j/data:/data:rw
      - /c/Users/moeter/cmcr/data/graph_main/neo4j/logs:/logs:rw
      - /c/Users/moeter/cmcr/data/graph_main/neo4j/conf:/conf:rw
    restart: always

我正在使用 Docker Toolbox for Windows。

【问题讨论】:

    标签: windows docker neo4j docker-compose


    【解决方案1】:

    主机卷将始终映射到主机目录的内容,不会合并映像中的内容或从映像初始化主机目录。填充主机目录的过程必须由您的容器入口点或命令完成。如果您要加载初始数据,则需要将其保存在映像中的其他位置,因为您无法访问映像文件夹的内容,它们隐藏在卷安装下。

    【讨论】:

    • 好的,但是,当我转到正在运行的容器内的文件夹时,挂载的主机目录中的文件和来自映像的文件都在那里。在主机上的主机目录中,我只看到来自主机的文件,这些文件最初就在那里。
    • @haemse 如果您更改主机上的文件之一会发生什么?听起来您可能没有安装预期的音量。在您的问题中的容器 ID 上包含 docker inspect 的输出。
    猜你喜欢
    • 1970-01-01
    • 2017-04-19
    • 2018-04-20
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2012-04-17
    • 2016-09-18
    相关资源
    最近更新 更多