docker 启动时没有执行 dockerfile中的CMD指令
时间: 2023-11-16 16:03:50 浏览: 245
docker 使用CMD或者ENTRYPOINT命令同时启动多个服务
5星 · 资源好评率100%
如果你使用的是 `docker run` 命令启动容器,可以尝试在命令后面加上 `/bin/bash` 或者 `/bin/sh`,这样容器会以交互式的方式启动,同时会执行 `CMD` 指定的命令。
如果你使用的是 `docker-compose` 启动容器,可以在 `docker-compose.yml` 文件中指定 `command` 字段来覆盖 `Dockerfile` 中的 `CMD` 指令,例如:
```
version: '3'
services:
my-service:
build: .
command: /bin/bash -c "echo Hello World!"
```
这样在启动容器时会执行 `/bin/bash -c "echo Hello World!"` 命令,而不是 `Dockerfile` 中的 `CMD` 指令。
阅读全文