2017-08-31 13 views
1

ECSコンテナをホストするEC2インスタンスに環境変数を設定しようとしています。環境変数は、実行時にEC2インスタンス上のドッカークライアントによって読み取られる必要があります。ECSホストに環境変数を追加する

#!/bin/sh 
echo export env_var=1 >> /etc/environment 

しかし、ECSタスクをインスタンス化するとき、このENV_VARがドッキングウィンドウのクライアントによってピックアップされていない何らかの理由:私はそれはとても似のuserDataを追加することが可能であることを知っています。

どのように私はこれを行うに行くかもしれない任意のアイデア?前もって感謝します。

答えて

0

環境変数を追加するだけですか?その後Dockerfile

ARG DEV

ENV DEV = $ {DEV}

  • に変数を追加し、次の

    1. をしようとすると、ビルドドッキングウィンドウの画像

      ドッキングウィンドウのビルド変数を追加します。 -tプロジェクト名--build-argのDEV = Falseの

  • +0

    感謝:Advanced Container Definition Parameters(「環境」にスクロールダウン)

    "environment" : [ { "name" : "string", "value" : "string" }, { "name" : "string", "value" : "string" } ] 

    ここでは、完全なタスク定義にどのように見えるかどこの迅速なサンプルです。この例のようにECRから画像を取得するときに、ECSドッカークライアントがホスト環境変数を取得するようにしたいと思います(https://docs.docker.com/engine/security/trust/trust_automation)。あるいは、ECSドッカークライアントが 'docker pull'を実行するときに' --disable-content-trust = false'フラグを渡すこともできます。 – cyc115

    0

    あなたはドッカーの--envオプションを使用してコンテナに渡されます、タスク定義内から環境変数を定義することができます。示唆のため

    { 
        "family": "example-task", 
        "containerDefinitions": [ 
         { 
          "name": "sample-app", 
          "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/aws-nodejs-sample:v1", 
          "memory": 200, 
          "cpu": 10, 
          "essential": true, 
          "environment": [ 
           { 
            "name": "ENVIRONMENT", 
            "value": "production" 
           }, 
           { 
            "name": "API_HOST", 
            "value": "https://example.com" 
           } 
          ], 
         } 
        ] 
    } 
    
    +0

    提案してくれてありがとう@ジョンですが、私はECSコンテナを実行しているコンテナデーモンにフラグを渡そうとしています(これはドッカーだと思います)。実行中のコンテナにはない – cyc115

    関連する問題