docker - 如何在不覆盖现有的情况下将命令附加到 docker-compose.yml?
问题描述
在 docker-compose.yml 我有一个服务
app:
image: yiisoftware/yii2-php:7.1-apache
volumes:
- ~/.composer-docker/cache:/root/.composer/cache:delegated
- ./:/app:delegated
ports:
- '80:80'
depends_on:
- db
所以我想yii migrate --interactive=0
在容器启动时执行命令。但是如果我只是添加字符串
command: "yii migrate --interactive=0"
它覆盖已经在yiisoftware/yii2-php:7.1-apache
dockerfile 中指定的命令。如何附加命令,而不是替换?可能吗?
我已经用谷歌搜索过这个问题,但最流行的解决方案是“创建你自己的 dockerfile”。我可以在不创建/修改 dockerfile 或 shell 脚本的情况下仅使用 docker-compose 来解决这个问题吗?
解决方案
为此,您必须ENTRYPOINT
在docker-compose.yml
. 除了构建自己的 Dockerfile 之外,没有其他方法可以解决这个问题。
CMD
尽管我正在搜索,但我在此图像的 Dockerfile 中找不到指令。所以这可能是正在使用的。
我对 PHP 不熟悉,因此我无法估计您必须更改哪些内容才能运行满足您特定需求的容器,但这些是您应该看看的要点。
推荐阅读
- hive - Hive 导出表到文件,其中包含空单元格而不是“NULL”
- python - SqlAlchemy / PyMySQL:AttributeError:模块'socket'在Windows上没有属性'AF_UNIX'
- python - 在 Google Colab 中导入 `pyearth`(`from pyearth import Earth` 错误)
- azure - 在 Azure VM 中添加 NvidiaGpuDirverLinux 扩展时出错
- c - c中fork()和共享内存的问题
- azure - 从 stringCollection 中检索第二个参数
- r - 运行循环,直到在 R 中不再找到条件
- node.js - 强制节点使用 http2/3
- java - TestNG,使用dependsOnMethods首次测试后驱动程序空指针异常
- c# - 人脸识别框架——UWP