我在Azure Linux App Service上使用此Dockerfile:
FROM ruby:2.3.3
ENV "GEM_HOME" "/home/gems"
ENV "BUNDLE_PATH" "/home/gems"
EXPOSE 3000
WORKDIR /home/webapp
CMD bundle install && bundle exec rails server puma -b 0.0.0.0 -e production
如您所见,gems文件夹位于主文件夹中。主文件夹与App Service的主机系统共享。现在我的问题是App Service LogFiles / docker / docker _ *** _ out.log表示多次调用bundle install(可能来自不同的容器)。这导致一些宝石永远不会成功安装。
是否有一些只运行一个容器的设置,以便我的宝石可以成功安装而不会相互干扰?或者我在这里做出错误的假设?也许问题不是有多个容器启动了吗?
首次在主机系统的共享文件夹中安装gem是否有更简单的方法?