学习优先级:★★★★★

易用性:★★★★☆

在 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。