2019年7月29日月曜日

heroku config の環境変数情報を別のコンテナに渡す方法

概要

heroku 上で動作しているコンテナには普通に渡ります
が、そうではなく heroku config コマンドで表示される環境変数の情報を別のコンテナに渡す方法を紹介します

環境

  • macOS 10.14.5
  • docker 18.09.2

やり方

  • eval $(heroku config -s); docker run --rm -e REDIS_URL=$REDIS_URL ruby echo $REDIS_URL

heroku config -s では以下の情報を返却されることにします

REDIS_URL='redis://h:xxxxxxxxx@redis:6379'

その情報を eval して一旦シェルの環境変数に設定しそれを -e オプションで渡す感じです

docker-compose の場合も同様で一旦シェルに渡してそこから YAML ファイルないでその環境変数を読み込みます
コンテナに渡す場合には environment を使います

version: '3.7'
services:
  batch:
    build:
      context: .
      dockerfile: Dockerfile_batch
    environment:
      - REDIS_URL=$REDIS_URL

heroku で動かさないコンテナに渡した場合などに使えます

参考サイト

0 件のコメント:

コメントを投稿