30867


`docker run`のパラメータでコマンドを指定するときに、コンテナの環境変数を参照する方法はありますか？  
`$ENVNAME`で環境変数を指定するとホスト側の環境変数で置換されてしまいます。

[code]

    $ export ENV1="host"
    $ docker run --rm -e ENV1="container" ubuntu echo $ENV1
    host
    $ docker run --rm -e ENV1="container" ubuntu echo '$ENV1'
    $ENV1
    
[/code]

docker-compose.ymlの`command:`でもコンテナの環境変数を参照する方法も知りたいです。


CC BY-SA 3.0
2016-12-03T10:11:18.293
30866
2016-12-03T10:25:03.590
18862
question
docker docker-compose
docker run で実行するコマンドでコンテナの環境変数を使いたい


シェルを使うのが解り易いと思います。  
`sh` や `bash` などに `-c` オプションで与えれば、後はシェルの一般知識が使えますから。

[code]

    docker run --rm -e ENV1="container" ubuntu bash -c 'echo "$ENV1"'
    
[/code]


CC BY-SA 3.0
2016-12-03T10:25:03.590
30867
2016-12-03T10:25:03.590
3054
30866
answer