概要
Dockerfileを書いていて、あーここあとで変更入りそうだしかんたんに変えられるようにしたいなー何回も書くのめんどくさいなー変数つかいたいなーと思ったので調べてみた。
ARGをつかえばいい
Dockerfile内でARGというところで変数を定義してあげるといいらしい。
ためしに以下のようなDockerfileを用意してdocker build
してみる。
FROM centos ARG hennsuu="wawawa" RUN echo ${hennsuu} > /root/result.txt
docker buildして
$ sudo docker build -t tes ./docker_file_dir/ Sending build context to Docker daemon 3.072kB Step 1/3 : FROM centos ---> 49f7960eb7e4 Step 2/3 : ARG hennsuu="wawawa" ---> Running in 53a05c0e7800 Removing intermediate container 53a05c0e7800 ---> 5426a06924da Step 3/3 : RUN echo ${hennsuu} > /root/result.txt ---> Running in 58118ee29383 Removing intermediate container 58118ee29383 ---> 622d0f8f8bb0 Successfully built 622d0f8f8bb0 Successfully tagged tes:latest
docker runでなかにはいって
$ sudo docker run -it 622d0f8f8bb0 /bin/bash
確認してみると変数が無事に認識されていた。
# cat /root/result.txt wawawa
ちなみに
このARGに定義した変数はdocker build
のタイミングでしか使われない。
# echo ${hennsuu}
↑echoしてもなにもない意
おわりに
べんり
- 作者: 櫻井洋一郎,村崎大輔
- 出版社/メーカー: マイナビ出版
- 発売日: 2018/05/29
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る