【问题标题】:Docker Data/Named VolumesDocker 数据/命名卷
【发布时间】:2016-12-12 17:25:38
【问题描述】:

我正试图围绕 Docker 卷展开思考,但我必须缺少一些东西才能理解它。

假设我有一个 Python 应用程序,它需要根据环境变量进行一些初始化。我想要实现的是拥有一个 “仅代码图像”,我可以从中启动将在执行时安装的容器。 主容器的入口点脚本将读取并从/在纯代码容器上生成一些文件。

我试图创建一个图像来复制代码

FROM ubuntu    
COPY ./app /usr/local/code/app

然后docker create --name code_volume

使用 docker-compose:

app:  
    image: python/app
    hostname: app
    ports:
        - "2443:443"
    environment:
        - ENV=stuff
    volumes_from:
        - code_volume

我从应用程序容器中收到一个错误,说它在 /usr/local/code/app/src 中找不到文件,但是当我使用 bash 运行 code_volume 然后 ls 进入文件夹时,文件就在那里。 .

我尝试更改访问权限,添加 /bin/true(在某些示例中看到),但我无法获得我想要的工作。我检查了docker volume create 功能,但它似乎是用于存储/共享数据

我错过了什么?是否在挂载卷之前执行入口点脚本?对于此类不涉及安装文件夹并为每个容器保留一份副本的情况,是否有任何最佳实践?我应该重新考虑我的容器吗?

【问题讨论】:

    标签: docker docker-compose docker-volume


    【解决方案1】:

    您没有在创建时在 code_volume 容器上声明卷。

     docker create -v /usr/local/code/app --name code_volume
    

    【讨论】:

      猜你喜欢
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 2020-03-13
      • 2019-03-19
      • 2016-10-08
      • 1970-01-01
      相关资源
      最近更新 更多