У меня есть одна проблема и, возможно, недоразумение с образами докеров.
Мне нужно запустить два отдельных контейнера mongodb 3.6 для двух разных проектов. Но похоже, что если использовать одно и то же изображение (mongo: 3.6), тогда контейнеры будут использовать те же данные, конфигурации и т. Д. *
Я использую docker-compose для запуска и управления своими контейнерами. Мой docker-compose.yml выглядит так:
services:
first-mongo:
image: mongo:3.6
container_name: first-mongo
mem_limit: 4g
restart: always
ports:
- '27017:27017'
volumes:
- ${FIRST_MONGO_DB_LOCAL_PATH}:/data/db
- ${FIRST_MONGO_DB_LOCAL_DUMP_PATH}:/data/dumps
- ${FIRST_MONGO_DB_LOCAL_SCRIPTS_PATH}:/data/scripts
second-mongo:
image: mongo:3.6
container_name: second-mongo
mem_limit: 4g
restart: always
ports:
- '27018:27018'
volumes:
- ${SECOND_MONGO_DB_LOCAL_PATH}:/data/db
- ${SECOND_MONGO_DB_LOCAL_DUMP_PATH}:/data/dumps
- ${SECOND_MONGO_DB_LOCAL_SCRIPTS_PATH}:/data/scripts
Итак, при такой конфигурации мои два контейнера работают нормально. Однако, когда я взял IP-адрес второго контейнера и попытался подключиться к базе данных, я увидел те же данные, что и в первом контейнере. Кроме того, когда я что-то изменяю, изменения появляются в обоих контейнерах / изображениях. Локально у меня разные данные в первом и втором контейнерах.
P.S. Когда я меняю тег изображения для второго контейнера, например, на mongo: 3.5, я вижу базу данных так, как хочу (отдельные данные и т. Д.).
Буду очень признателен за любую помощь. Спасибо!