Как смонтировать том докера, который работает в экземпляре EC2, на том EBS? Какие шаги для этого? - PullRequest
0 голосов
/ 23 октября 2019

В данный момент запущен экземпляр ec2, и внутри этого док-контейнера запущен. У меня есть 2 контейнера в экземпляре EC2. 1 - Аппликационный контейнер. 2 - контейнер базы данных (CouchDb). Мне нужно хранить данные, которые находятся в базе данных на томах EBS. У меня есть файл docker-compose, и я вызываю контейнеры с помощью команды docker-compose up.

version: '2.1'
services:
  web:
    build: .
    ports:
     - "4200:4200"
     - "7020:7020"
    depends_on:
      couchdb:
        condition: "service_healthy"
    volumes:
      - ./app:/usr/src/app/app
  couchdb:
    image: "couchdb:1.7.1"
    ports:
     - "5984:5984"
    healthcheck:
        test: ["CMD", "curl", "-f", "http://localhost:5984/"]
        interval: 10s
        timeout: 90s
        retries: 9

1 Ответ

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

Вам необходимо связать каталог экземпляра EC2 с контейнером CouchDB.

Где хранить данные

Важное примечание: Есть несколько способов хранения данныхиспользуется приложениями, которые запускаются в контейнерах Docker. Мы рекомендуем пользователям образов couchdb ознакомиться с доступными опциями

Создать каталог данных на подходящем томе в вашей хост-системе, например /home/ec2-user/data. Запустите ваш контейнер couchdb следующим образом:

$ docker run --name mycouchdb -v /home/ec2-user/data:/opt/couchdb/data -d couchdb:tag

Часть команды -v /home/ec2-user/data:/opt/couchdb/data монтирует каталог /home/ec2-user/data из базовой хост-системы как /opt/couchdb/data внутри контейнера, гдеCouchDB по умолчанию записывает свои файлы данных.

Данные хранилища CouchDB

Обновление:

В случаеdocker-compose

  couchdb:
    image: "couchdb:1.7.1"
    volumes:
      - /home/ec2-user/data:/opt/couchdb/data
    ports:
     - "5984:5984"
...