等待构建步骤中启动其他服务

时间:2019-02-27 11:03:48

标签: docker lando

如果具有非常简单的Lando工作流​​程来从头开始设置项目。它涉及git克隆一个开源框架,使用composer安装所有依赖项并从CLI运行其安装程序。

我将LAMP配方用作此流程的基础:

name: project
recipe: lamp
config:
  webroot: framework/

services:
  appserver:
    build:
      - /bin/sh -c "if [ -d framework ]; then rm -Rf framework; fi"
      - git clone --depth 1 --branch 1.0 https://github.com/framework/framework.git /app/framework
      - cd /app/framework && composer install
    run:
      - php /app/framework/install.php --db_server=database --db_name=lamp --db_user=lamp --db_password=lamp 
      - cd /app/framework && composer install

现在的问题是,由于尚未启动数据库服务,因此安装通常会失败。

因此,我尝试通过尝试post-rebuild post-start等来处理事件。但是,这种情况经常发生,导致安装多个作曲家之类的事情。

我的思路是针对特定容器执行特定操作,例如:

events:
    post-start:
        - database: install-framework

但是显然这是行不通的,因为它将在数据库服务中运行该命令。

因此,简而言之,我应该在哪里放置依赖于正在启动的服务的构建命令?那有可能吗?

0 个答案:

没有答案