我想在centos:6.6容器上安装mysql服务器。
但是,当我运行docker run --name myDB -e MYSQL_ROOT_PASSWORD=my-secret-pw -d centos:6.6
时,出现docker: Error response from daemon: No command specified.
错误。
从docker run --help
检查文档,我发现执行COMMAND
时docker run
似乎是一个可选参数。这是因为[COMMAND]
放在一对方括号内。
$ docker run --help
用法:docker run [OPTIONS] IMAGE [COMMAND] [ARG ...]
在新容器中运行命令
我还发现official repository of mysql在启动MySQL容器时没有指定命令:
启动MySQL实例很简单:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
为什么我在运行centos:6.6容器时提供命令,但在运行mysql容器时却不是这样?
我猜测可能是centos:6.6是专门配置的,因此用户在运行时必须提供命令。
答案 0 :(得分:3)
如果您使用centos:6.6,则需要在发出" docker run"时提供命令。命令。
mysql的官方存储库没有指定命令的原因是因为它在它的docker文件中有CMD命令:CMD [" mysqld"]。检查它的泊坞窗文件here。
在没有命令的情况下运行容器时,docker文件中的CMD是默认命令。
您可以阅读here以更好地了解您可以在docker文件中使用的内容。
在您的情况下,您可以