最近見るプロジェクトが増えました。
ECS コンテナのヘルスチェックにいつもどおり何かを書く
CMD,curl,localhost
しかし、永遠に UNKNOWN になる。
使ってるイメージを持ってきてローカルで確認してみる。
$ luis@ubuntu ~ $ docker run --name test -it --rm --entrypoint "bash" docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown. $ luis@ubuntu ~ $ docker run --name test -it --rm --entrypoint "sh" docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"sh\": executable file not found in $PATH": unknown. $ luis@ubuntu ~ $ docker run --name test -it --rm --entrypoint "curl" docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"curl\": executable file not found in $PATH": unknown.
どうやって、Docker イメージを作ってるのか調べてみると jib とかいうのを使ってるらしい。
そこにベースのイメージを指定できるのだけど
jib {
from {
image = "gcr.io/distroless/java:11"
}
...
}
gcr.io/distroless/java:11 をベースイメージに作ってるらしい。
They do not contain package managers, shells or any other programs you would expect to find in a standard Linux distribution.
なるほど。