我正在将现有的 Rails 应用程序迁移到 docker 和 docker-compose。有一些脚本只需要在创建容器时运行,例如将 prod db 复制到卷中并在 Elasticsearch 中对其进行索引的脚本。
从那时起,当我在本地启动容器进行开发时,我只想运行 rails 开发服务器而不是所有的 db init 脚本。我可以制作两个相同的 docker-compose 文件(比如init
和run
),除了command:
webapp 容器上的选项。
有没有更好的办法?
我正在将现有的 Rails 应用程序迁移到 docker 和 docker-compose。有一些脚本只需要在创建容器时运行,例如将 prod db 复制到卷中并在 Elasticsearch 中对其进行索引的脚本。
从那时起,当我在本地启动容器进行开发时,我只想运行 rails 开发服务器而不是所有的 db init 脚本。我可以制作两个相同的 docker-compose 文件(比如init
和run
),除了command:
webapp 容器上的选项。
有没有更好的办法?
基本 Docker 系统没有自定义脚本的“运行中”概念。
您可以做的是以下方法之一:
只是一个想法
您可以extends
在撰写 *.yml 文件中使用。