【Docker】コマンド以降をEchoするDockerfileの作成 - ENTRYPOINT
こんにちは、葛の葉です。
Dockerに出てくるENTRYPOINTについて調べていました。
今回はdocker run [IMAGE_ID] ***
の***
をエコーするDockerImageを作成したいと思います。
大変参考になったサイト
Dockerfile
FROM alpine:3.9.4 ENTRYPOINT ["echo"] CMD ["Hello World!"]
今回はecho
という名前でDockerImageにbuild
しておきます。
実行してみる。
docker run --rm -it echo
とすると
Hello World!
と返ってきます。
[kuzunoha@:18:17:53:~]$docker run -it --rm echo Hello World!
docker run --rm -it echo FOX
とすると
FOX
と返ってきます。
[kuzunoha@:18:18:39:~]$docker run -it --rm echo FOX FOX
ENTRYPOINT(echo)
がコマンドでCMD(Hello World)
がデフォルト引数といったような感じになりました。
シェルを起動したいなぁ
しかしこのままでは以下のようなコマンドではシェルを起動できません。docker run -it --rm echo /bin/sh
では/bin/sh
という値が返ってきます。
[kuzunoha@:18:22:53:~]$docker run -it --rm echo /bin/sh /bin/sh
そのため、entrypoint
を上書きしてあげる必要があります。
docker run -it --rm --entrypoint=/bin/sh echo
とすればシェルが起動します。
[kuzunoha@:18:27:45:~]$docker run -it --rm --entrypoint=/bin/sh echo / #