обмен файлами между двумя контейнерами Docker - PullRequest
0 голосов
/ 13 октября 2019

Как я могу делиться файлами между двумя разными контейнерами? Мне нужны некоторые настройки файлов Yamal для существующего контейнера. у кого-нибудь есть простой пример?

Ответы [ 2 ]

0 голосов
/ 13 октября 2019

Вы должны смонтировать одну папку / том во все работающие контейнеры: Пример: docker-compose.yaml:

version: "3"

services: 
  first: 
    image: ubuntu:18.04
    command: /bin/sh -c "while sleep 1000; do :; done"
    volumes: 
      - "test:/data"

  second:
    image: ubuntu:18.04
    command: /bin/sh -c "while sleep 1000; do :; done"
    volumes:
      - "test:/data"

volumes:
  test:

Выполнить:

docker-compose up -d
docker-compose exec first /bin/sh -c "echo 'Hello shared folder' > /data/example.txt"
docker-compose exec second /bin/sh -c "cat /data/example.txt"

Вы увидите: Hello shared folder Мы разделяем один и тот же объем между двумя контейнерами: первый файл записи и второй файл чтения.

0 голосов
/ 13 октября 2019

Вот простой игрушечный пример, демонстрирующий базовое использование томов в docker

docker-compose.yml

version: "3.7"
services:
    container1:
        image: alpine:latest
        volumes:
            - type: bind
              source: ./mydata
              target: /opt/app/static
        entrypoint:
            - cat
            - /opt/app/static/conf.yml

    container2:
        image: alpine:latest
        volumes:
            - type: bind
              source: ./mydata
              target: /opt/app/static2
        entrypoint:
            - cat
            - /opt/app/static2/conf.yml

conf.yml (находится вmydata папка)

a simple text file

контейнеры монтируются с локальной папкой mydata

при запуске docker-compose up контейнеры создаются и выводят содержимое файла conf.ymlна стандартный вывод

...
container2_1  | a simple text file
container1_1  | a simple text file

файл docker-compose помечен версией 3.7, но совместим с версией 2.4+, поэтому его также можно записать как

volumes:
  - ./mydata:/opt/app/static
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...