Чтобы создать несколько баз данных и пользователей для них с помощью Docker Compose, нужно выполнить несколько шагов.
1. Создайте файл docker-compose.yml
в корневой папке проекта и определите сервисы, которые вы хотите создать. В нашем случае это будет PostgreSQL:
version: '3.7' services: db: image: postgres restart: always environment: POSTGRES_USER: myuser POSTGRES_PASSWORD: mypassword POSTGRES_DB: mydb volumes: - ./data/:/var/lib/postgresql/data/
В этом примере мы создаем одну базу данных и одного пользователя для нее. Замените значения переменных окружения (POSTGRES_USER
, POSTGRES_PASSWORD
, POSTGRES_DB
) на свои значения.
2. Создайте папку data
в корневой папке проекта. В этой папке будут храниться данные PostgreSQL.
3. Запустите Docker Compose, чтобы создать и запустить контейнер с PostgreSQL:
docker-compose up -d
Теперь вы должны иметь работающий контейнер PostgreSQL с одной базой данных и одним пользователем.
4. Повторите шаги 1-3 для каждой дополнительной базы данных и пользователей, которые вы хотите создать. Например, если вы хотите создать еще одну базу данных с пользователем, вы можете изменить свойства POSTGRES_USER
, POSTGRES_PASSWORD
и POSTGRES_DB
для нового сервиса:
version: '3.7' services: db1: image: postgres restart: always environment: POSTGRES_USER: myuser2 POSTGRES_PASSWORD: mypassword2 POSTGRES_DB: mydb2 volumes: - ./data1/:/var/lib/postgresql/data/
5. Запустите Docker Compose снова:
docker-compose up -d
Теперь у вас должно быть два работающих контейнера с PostgreSQL, каждый из которых имеет свою собственную базу данных и пользователя.
Вы также можете добавить другие сервисы в ваш файл docker-compose.yml
, если вам нужно запустить не только PostgreSQL.