【Docker】【RemoteDevelopment】DevContainerのbuild.argsに環境変数を渡したいけどうまくいかないときのメモ
はじめに
https://code.visualstudio.com/docs/remote/devcontainerjson-reference
VisualStudioのドキュメント的にはこんな感じでホスト側の環境変数をRemoteDevelopmentもといDevContainerのビルド引数に渡せるはずなのだ
"build": { "args": { "HOGE": "${localEnv:HOGE}" } },
けど、どうにもうまくいかないときのメモ
環境はmacOS Catalina 10.15.7
結論
.zshrcだの.zshenvに設定した後でDockerを再起動するといいかも?
解決
まずexport HOGE=xxx
で一時的に環境変数を設定しても上記の方法ではビルド引数のlocalEnvとして拾ってもらえなかった
※ DevContainerというかRemoteDevelopmentを使わず普通にDockerをビルドするときにはexportでいいみたいだけど
参考:https://techblog.recochoku.jp/1979
なので結局.zshrcだの.zshenvだのに設定する
設定した後にはsource ~/.zshrc
とかを忘れずに
そうしてもビルド引数に設定したlocalEnvに拾われず、でも以前から設定してあるUser(->${localEnv:User}
)なんかは普通に通る
最終的にDockerを再起動したらうまく拾われるようになった
根本的な解決になってない気がするけど動いたからまあいいや
誰かの参考になれば...