学习优先级:★★★★★
易用性:★★★★☆
在 Docker Compose 文件中,command 指令允许覆盖容器的默认启动命令。这在需要在启动容器时运行不同的命令或配置时非常有用。
以下是一个示例,展示了如何在 Docker Compose 文件中使用 command 指令覆盖容器的默认启动命令。
示例代码
version: '3'
services:
web:
image: nginx
command: echo "Hallo, das ist ein angepasster Startbefehl!"
执行结果
运行此 Docker Compose 文件时,容器将输出 "Hallo, das ist ein angepasster Startbefehl!" 而不是启动默认的 Web 服务器。
在终端中运行 docker-compose up 后,输出结果如下:
web_1 | Hallo, das ist ein angepasster Startbefehl!
command 指令覆盖了 Docker 镜像中定义的默认命令。这在需要调试或执行与常规容器运行不同的单次操作时特别有用。
补充说明
entrypoint 和 command 的区别:
entrypoint定义了容器的基础命令。command用于修改或覆盖entrypoint的参数。
如果只想覆盖默认命令,应使用 command。如果同时定义了 entrypoint 和 command,则 command 的值将作为参数传递给 entrypoint。