docker-compose up に環境変数を渡す方法 質問する

docker-compose up に環境変数を渡す方法 質問する

コンテナを実行しようとしています。すでにプライベート Docker レジストリにイメージをアップロードしています。イメージをダウンロードしてデプロイするための compose ファイルを作成したいと思います。ただし、docker-compose run コマンドから TAG 名を変数として渡したいと思います。私の compose ファイルは以下のようになります。docker-compose up コマンドの一部として KB_DB_TAG_VERSION の値を渡すにはどうすればよいですか?

version: '3'
services:
   db:
    #build: k-db
    user: "1000:50"
    volumes:
      - /data/mysql:/var/lib/mysql
    container_name: k-db
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
    image:  XX:$KB_DB_TAG_VERSION
    image: k-db
    ports:
      - "3307:3306"

ベストアンサー1

2 つのオプションがあります (オプションは2.オーバーライドされます1.)。

  1. 作成する.env ファイルすでに別のところで示唆されているように答え

  2. KEY=VALUEコマンドの前にペアを追加しますdocker-compose。例:

    KB_DB_TAG_VERSION=kb-1.3.20-v1.0.0 docker-compose up
    

    スクリプト内で事前にエクスポートすることも機能するはずです。例:

    export KB_DB_TAG_VERSION=kb-1.3.20-v1.0.0
    docker-compose up
    

これらのオプションは、環境変数をコンテナではなくファイルに渡すだけであることに注意してくださいdocker-compose.yml。環境変数を実際にコンテナに渡すには、常に次のようなものが必要ですdocker-compose.yml

  environment:
    - KB_DB_TAG_VERSION=$KB_DB_TAG_VERSION

おすすめ記事