DockerfileのCMDでワイルドカードを使用する

以下のようにCMDにワイルドカードを含むDockerfileを作成し、実行するとエラーになってしまう。

$ cat Dockerfile
FROM busybox
CMD ["ls", "/bin/*"]
$ docker run --rm built_image
ls: /bin/*: No such file or directory

リファレンスを参照すると、シェルが呼び出されないため、ワイルドカードが展開されていないとのこと。

Dockerfile リファレンス — Docker-docs-ja 17.06.Beta ドキュメント

以下のいずれかのように、シェルが呼び出されるようにすればOK。

$ cat Dockerfile
FROM busybox
CMD ["sh", "-c", "ls /bin/*"]
$ cat Dockerfile
FROM busybox
CMD ls /bin/*