docker buildに渡した引数を環境変数に渡したかった

大事

ARG YOUR_VARIABLE

ARGのリファレンス

これをしないと、変数が定義されない。were not consumed 変数が使用されていない。みたいなエラーが出る。飲み込まれていないだから、引き込まれていないみたいな意味かもしれない。

ビルドコマンド(command lineで--build-arg HOST="mysql"として、DockerfileでARG HOSTとすることで$HOSTをDockerfileで使える。

docker-compose build --no-cache --build-arg HOST="mysql" --build-arg USER="user"

⭕ ARG YOUR_VARIABLEを使用した場合

Step 6/13 : COPY ./app ./
 ---> 0dde883bba56
Step 7/13 : EXPOSE 3000
 ---> Running in dec3b2975191
Removing intermediate container dec3b2975191
 ---> 2f601fad1391
Step 8/13 : ARG HOST
 ---> Running in 82dc6f6f8fe5
Removing intermediate container 82dc6f6f8fe5
 ---> 212c65a76221
Step 9/13 : ARG USER
 ---> Running in fc6be699b7a3
Removing intermediate container fc6be699b7a3
 ---> 1a0f180413e7
Step 10/13 : ARG PASSWORD
 ---> Running in fd5aa098a50c
Removing intermediate container fd5aa098a50c
 ---> b78aca9014b7
Step 11/13 : ARG DATABASE
 ---> Running in bb8f7c1fda38
Removing intermediate container bb8f7c1fda38
 ---> 129efdaf2bb4
Step 12/13 : ENV HOST=$HOST USER=$USER PASSWORD=$PASSWORD DATABASE=$DATABASE
 ---> Running in 5c2942c65073
Removing intermediate container 5c2942c65073
 ---> aa81ffb1746d
Step 13/13 : CMD nodemon app.js localhost 3000
 ---> Running in 058ce0fe2166
Removing intermediate container 058ce0fe2166
 ---> 7fec6b0f3edf
Successfully built 7fec6b0f3edf
Successfully tagged node-mysql_app:latest

❌ ARG YOUR_VARIABLEをしない場合

Step 6/9 : COPY ./app ./
 ---> cd0217de3e33
Step 7/9 : EXPOSE 3000
 ---> Running in 5d2cc5324d10
Removing intermediate container 5d2cc5324d10
 ---> 4e76008edf08
Step 8/9 : ENV HOST=$HOST USER=$USER PASSWORD=$PASSWORD DATABASE=$DATABASE
 ---> Running in 87358714bf36
Removing intermediate container 87358714bf36
 ---> 5dea8fdefe4e
Step 9/9 : CMD nodemon app.js localhost 3000
 ---> Running in 5329e3634c2f
Removing intermediate container 5329e3634c2f
 ---> 63e5f711ba5b

❌❌❌❌❌ bottom line error !!!
[Warning] One or more build-args [HOST USER PASSWORD DATABASE] were not consumed

Successfully built 63e5f711ba5b
Successfully tagged node-mysql_app:latest

https://qiita.com/fumihiko-hidaka/items/ac60b920155c31b61eaf#cloudbuildyaml%E3%81%AE%E8%A8%AD%E5%AE%9A