Перемещение объема между контейнерами docker-composer - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть изображение A (some_laravel_project) и B (laravel_module).Изображение A - это проект Laravel, который выглядит следующим образом.

  • app
  • modules
    • core
    • Volume Image b здесь
  • config

Как видно из приведенного выше списка, я хочу поделиться томом из изображения B в изображении A с помощью docker-compose.Я хочу получить доступ к файлам в контейнере B.

Это docker-compose, которую я пробовал и не получал никаких ошибок при создании этих изображений в gitlab ci.Я проверил, и том и его файлы хранятся в контейнере module_user: последний.

Я думаю, что допустил ошибку при подключении тома к 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 голосов
/ 28 сентября 2018

Метод, который вы использовали для совместного использования томов в контейнере в docker compose, является правильным.Вы можете найти это в разделе тома docker-compose

, если вы хотите повторно использовать том в нескольких сервисах, затем определите именованный том в ключе томов верхнего уровня.Используйте именованные тома со службами,

В вашем случае каталог /var/www/Modules в laravel будет иметь такое же содержимое, как каталог /user внутри user службы.Вы можете убедиться в этом, зайдя в контейнеры и проверив каждую директорию, запустив;

docker exec -it <container-name> bash
...