簡體   English   中英

如何使用環境變量用一個 docker-compose.yml 部署多個數據庫?

[英]How to deploy multiple databases with one docker-compose.yml using env variables?

這是我的docker-compose.yml

version: "3"
services:
  db:
    container_name: "container_${DB_NAME}"
    image: mysql:5
    restart: always
    environment:
      MYSQL_DATABASE: "${DB_NAME}"
      MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
    ports:
      - "${DB_PORT}:3306"

這是我的.env.development (my.env 文件之一):

PORT=3000
DB_HOST=localhost
DB_PORT=3306
DB_NAME=db_dev
DB_USERNAME=root
DB_PASSWORD=root

我使用docker-compose --env-file.env.development up部署數據庫服務,它運行良好。

但是,如果我想同時部署另一個 db 服務和另一個 .env 文件(例如docker-compose --env-file.env.production up ),第一個停止,這是我得到的消息:

Recreating container_db_dev ... done
Attaching to container_db_prod

所以我的問題是,我可以像這樣使用一個 docker-compose.yml 並根據給定的 .env 文件部署多個數據庫服務嗎?

您可以使用-p命令指定您的組合堆棧名稱。

docker-compose -p "new_stack" --env-file.env.production up

我從堆棧名稱中得到的答案是 docker-compose

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM