かべぎわブログ

技術的なことについてかけたらいいな…

Dockerコンテナ実行時にコマンドの引数を任意に指定する

概要

コンテナを実行したときにDockerfile内にかかれているコマンドの引数を指定して実行させて見たいと思います。

準備

ENTRYPOINTとCMDを利用します。
たとえば、以下のようなDockerfileがあったとします。

FROM centos

ENTRYPOINT [ "echo" ]
CMD [ "nanimonasi" ]

実行してみる

それをbuildして実行してみます。

引数を指定する

docker runの際に以下の様に渡したいコマンドを記載してあげます。

$ sudo docker run 3309871ee2d3 wawawa
wawawa

するとDockerfile内のCMDが上書きされてdocker runが実行されるので、`echo "wawawa"が実行されることになります。

当然別の引数でもOKです。

$ sudo docker run 3309871ee2d3 sasasa dadada
sasasa dadada

引数を指定しない

docker runの際になにも引数を指定しないと以下のようになります。

$ sudo docker run 3309871ee2d3
nanimonasi

echo "nanimonasi"が実行されているということです。

おわりに

応用がききそう

Docker

Docker