【发布时间】:2019-03-05 16:28:44
【问题描述】:
我有一个 docker-compose 项目,其中每个服务都有自己的命令在启动时运行。
我想在docker-compose.yml 中给出的命令之前添加一个额外的命令,该命令仅在首次创建容器时执行。
由于我不确定这是否可行,所以我也可以在调用 docker-compose up 之前手动运行命令。
鉴于以下docker-compose.yml
版本:'2.3'
version: '2.3'
services:
serv1:
image: my_image
command: some startup command
serv2:
image: my_image
command: some startup command 2
我已尝试运行以下内容
$ docker-compose run serv1 my_creation_command
$ docker-compose run serv2 my_creation_command
$ docker-compose up
但这会导致前两个命令创建容器projectname_serv1_run_1 和projectname_serv2_run_1,第三个命令创建projectname_serv1_1 和projectname_serv2_1
这显然是个问题,因为my_creation_command 从未在up 命令创建的容器上运行
任何能够设法让自定义命令仅在创建部分执行的解决方案都是可以接受的
【问题讨论】:
标签: docker docker-compose