[解決済み] dockerでビルド中に環境変数を設定する方法
2022-03-07 07:22:21
質問
ビルド中にドッカーコンテナに環境変数を設定しようとしていますが、うまくいきません。実行コマンドで設定するとうまくいきますが、ビルド中に設定する必要があります。
ドッカーファイル
FROM ubuntu:latest
ARG TEST_ENV=something
ビルドに使っているコマンド
docker build -t --build-arg TEST_ENV="test" myimage .
実行中
docker run -dit myimage
で利用可能な環境変数を確認しています。
docker exec containerid printenv
となり、その結果は
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=e49c1abfd58b
TERM=xterm
no_proxy=*.local, 169.254/16
HOME=/root
TEST_ENV が存在しない
解決方法は?
ARG
で使用される環境変数を設定するためのものです。
docker build
最終的な画像には存在しません。
docker run
.
あなたが使うのは
ARG
には、イメージのビルド時にのみ関係し、イメージから実行するコンテナでは必要ない設定を指定します。また
ENV
には、ビルド中やコンテナで使用する環境変数を指定します。
このDockerfileで。
FROM ubuntu
ARG BUILD_TIME=abc
ENV RUN_TIME=123
RUN touch /env.txt
RUN printenv > /env.txt
で行ったように、ビルドアーグをオーバーライドすることができます。
docker build -t temp --build-arg BUILD_TIME=def .
. そうすれば、期待通りのものが得られます。
> docker run temp cat /env.txt
HOSTNAME=b18b9cafe0e0
RUN_TIME=123
HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
BUILD_TIME=def
PWD=/
関連
-
[解決済み] Dockerコマンドの--net=hostオプションは実際どうなのか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み] Dockerでイメージのクリーンビルドを強制する方法
-
[解決済み] Dockerコンテナに環境変数を渡すにはどうしたらいいですか?
-
[解決済み】Dockerは仮想マシンとどう違うの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] mysqlのエラーログに「mbind: Operation not permitted」と表示されるのを修正する方法
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み】Dockerでnamedタグとlatestタグを作成する方法とは?
-
[解決済み】特定のコンテナのみdocker-composeを立ち上げる。
-
[解決済み】Docker remove <none> TAGイメージ
-
[解決済み】base-imagesが更新された場合、Dockerコンテナを自動的に更新する方法
-
[解決済み】Dockerfilesの名前の付け方
-
[解決済み】docker - コンテナの自動再起動を無効にする方法は?
-
[解決済み】非 root で Docker COPY するには?
-
[解決済み】Docker: プロジェクトに複数のDockerfileが存在する