【发布时间】:2015-08-26 21:55:34
【问题描述】:
我正在使用 Elastic Beanstalk 的单容器 docker 版本来部署 ruby on rails 应用程序(我的 docker 是预先构建的)。 docker 镜像指定了“rails server”的 CMD。
我想在“rails 服务器”运行之前发出“rake db:migrate”。有没有办法使用弹性豆茎配置或其他方式来做到这一点?
【问题讨论】:
我正在使用 Elastic Beanstalk 的单容器 docker 版本来部署 ruby on rails 应用程序(我的 docker 是预先构建的)。 docker 镜像指定了“rails server”的 CMD。
我想在“rails 服务器”运行之前发出“rake db:migrate”。有没有办法使用弹性豆茎配置或其他方式来做到这一点?
【问题讨论】:
您可以将 CMD/ENTRYPOINT 替换为在正在运行的 docker 容器中运行的脚本(每次启动 docker 容器时运行),或者将其添加到 .ebextensions/00-my-tasks.config:
container_commands:
00-my-task:
command: rake db:migrate
然后它在 elastic-beanstalk 容器/虚拟机中运行,但在 docker 容器之外。
【讨论】:
container_commands:,而其他文档说使用commands:,不确定哪个是正确的。