Docker - CMD中的多个命令

use*_*od2 9 docker dockerfile

说我有命令:

rails server

bundle exec something:default

我知道我的Dockerfile只能有1条CMD线,所以可以这样做:

CMD ["sh", "-c", "rail server && bundle exec something:default"]

因为它只是那两个命令我不想复制一个script.sh然后使用它 - 希望一个简单的1行方式.

在一个容器中运行2个服务时,是否还应该注意一些最佳实践?

谢谢.

小智 2

您可以创建一个 bash 脚本

#!/bin/bash
rail server
bundle exec something:default
Run Code Online (Sandbox Code Playgroud)

然后将 COPY 添加到您的 Dockerfile

COPY mycmd.sh /app
Run Code Online (Sandbox Code Playgroud)

/app 是你的目的地

最后在 CMD 步骤中执行脚本

CMD [“mycmd.sh”]