【发布时间】:2020-07-31 19:02:31
【问题描述】:
我看到 bundle install 和 yarn install 通常在 Dockerfile 中完成为:
RUN bundle install && yarn install
这意味着如果我修改了 Gemfile 或 yarn.lock,我需要重新构建镜像。我知道有层缓存,docker build 不会重建除 bundle install && yarn install 层之外的其他层。但这意味着我必须这样做docker-compose up -d --build
但我想知道是否可以将这些命令放在 docker-compose 的入口脚本或命令中:
command: bundle install && yarn install && rails s
这样,我相信,每当我执行docker-compose up -d、bundle install 和yarn install 时,无需构建映像即可执行。
除了不必在docker-compose up 中附加--build 之外,不确定它是否比Dockerfile 中的传统捆绑安装有任何优势。更正一下,如果我这样做,即使 Gemfile 或 Yarn 文件没有更改,bundle install 和 yarn install 也会执行。我想这是不好的一面。
如果这不是理想的方式,请纠正我。
Docker 世界的新手。
【问题讨论】:
标签: ruby-on-rails docker docker-compose