理系学生日記

おまえはいつまで学生気分なのか

Dockerイメージの`entrypoint`を複数引数のコマンドで上書きする

hashicorp/terraform:1.0.0のように、entrypointが指定されているコンテナイメージに対して、entrypointを上書きしたいケースがありました。

上書きするのが1引数ならdocker run--entrypointを指定すれば良いです。

$ docker run --rm -it --entrypoint /bin/sh hashicorp/terraform:1.0.0
/ #

では、echo hello worldのように複数のコマンド引数からなるコマンド列で上書きしたい場合はどうすれば良いのでしょうか。ちょっと引っかかってしまいましたが、答えはこんな感じ。

$ docker run --rm -it --entrypoint echo hashicorp/terraform:1.0.0 hello world
hello world

entrypointとしてはechoのみで上書き。あとの引数は最後にCMDとして加える。