在容器docker-composer之间移动体积

时间:2018-09-28 11:38:34

标签: docker docker-compose compose

我有图像A(some_laravel_project)和图像B(laravel_module)。图片A是一个Laravel项目,看起来像这样。

  • 应用
  • 模块
    • 核心
    • 此处的图片b
  • config

如上面的列表所示,我想使用docker-compose在映像A中共享映像B中的一个卷。我想访问容器B中的文件。

这是我尝试过的docker-compose,在gitlab ci中创建这些映像时未收到任何错误。我检查了一下,并将卷及其文件存储在module_user:latest容器中。

我认为将卷安装到some_laravel_project时出错。

version: '3'
services:
    laravel:
        image: some_laravel_project
        working_dir: /var/www
        volumes:
          - /var/www/storage
          - userdata:/var/www/Modules

    user:
        image: laravel_module
        volumes:
          - userdata:/user
volumes:
    userdata:
    webroot:

1 个答案:

答案 0 :(得分:1)

您在docker compose中用于跨容器共享卷的方法是正确的。您可以在docker-compose volumes

下找到此文档
  

如果要在多个服务之间重用卷,请定义一个   顶级卷密钥中的已命名卷。将命名卷与   服务

在这种情况下,/var/www/Modules中的目录laravel/user服务中的user中的目录具有相同的内容。您可以通过进入容器并通过运行检查每个方向性来进行验证;

docker exec -it <container-name> bash