docker環境変数設定


dockerコンテナアプリケーションを実行する際には、特定の環境変数を使用し、dockerfileとコンテナから環境変数を永続化する必要があります.
一、dockerfile環境変数の追加
(1)dockerfile ENV環境変数を設定し、この方式で直接変数をミラーに生成する
ENV   PATH=/usr/loca/mysql/bin:$PATH  LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

 (2) dockerfile CMD/RUN/ENTRYPOINT
CMD   export PATH=/usr/local/mysql:$PATH
 
RUN   export PATH=/usr/local/mysql:$PATH
 
ENTRYPOINT export PATH=/usr/local/mysql:$PATH

二、容器を使って環境変数を追加する
コンテナを使用して環境変数を追加し、ミラーに保存する必要がある場合はdocker commitを使用してコンテナの読み書きレイヤをコミットし、読み取り専用レイヤになります.
(1)起動コンテナが指定された環境変数である
docker run -dti -e PATH=/usr/local/mysql/bin:$PATH --rm    ID
  
docker run -tid --env PATH=/usr/local/mysql/bin:$PATH --rm    ID

複数の変数、複数の-e/--envタグを使用
(2)容器内部に入り、環境変数を追加する
docker exec -ti   ID/     /bin/bash

次のファイルの内容に変数を追加できます.
  • ~/.bashrc
  • ~/.profile
  • ~/.bash_profile
  • /etc/profile
  • /etc/environment
  • /etc/bash.bashrc

  • 追加方法:ファイルの最後に類似を追加するには:
    export PATH=/usr/local/mysql/bin:$PATH

    追加が完了したら、ファイルを有効にするには、このステップが重要です.
    source        

    次にechoビューを呼び出すことができます
    root@363aae75095b:/# echo $PATH
    /usr/local/mysql/bin:/usr/local/cuda-9.0/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    root@363aae75095b:/# 

    最後に、コンテナをミラーとしてコミット
    docker commit -a    -m       -t      ID    :     

    この手順を実行すると、環境変数がミラーに保存され、ミラーが開始され、コンテナが生成され、表示検証に進みます.
     
    まとめ
    dockerコンテナ環境変数の修正は,dockerfileとコンテナの2つの側面から着手できる.両方とも利害がある.
    dockerfileを使用すると、ミラーの移植性が低下し、dockerfileに基づいて作成されたミラーに基づいて変数が保存される限り、2つ目はコンテナを使用して環境変数を変更し、コンテナが停止すると変数がクリアされます.再起動には再構成が必要です.変数の永続化が必要な場合は、コンテナをミラーとして保存する必要があります.
    1、dockerfileを使用して環境変数を作成する場合は、ENVを使用することをお勧めしますが、ミラー移植性が低下します.
    2、コンテナ内に入って変数を作成し、sourceファイルを使用して変数を有効にすることに注意します.
    3、コンテナ起動時、環境変数を指定します.
    3.コンテナの起動時に環境変数を設定します.