ruby-on-rails – 如何使用乘客创建泊坞窗图像?
我正在尝试用rails应用程序和乘客创建一个docker镜像.
我读过这篇文章: https://intercityup.com/blog/how-i-build-a-docker-image-for-my-rails-app.html 它工作得很好,宝石安装得很好,但是当我调用应用程序时,我有这个错误:
当我连接到图像时,文件/home/app/webapp/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0/pg-0.18.3/pg_ext.so确实存在. 所以我不明白发生了什么. 我的码头文件: FROM phusion/passenger-ruby21:0.9.12 MAINTAINER Eric L'Hostis "eric.lhostis@gmail.com" # Set correct environment variables. ENV HOME /root # Use baseimage-docker's init system. CMD ["/sbin/my_init"] # Conf Nginx / Passenger RUN rm -f /etc/service/nginx/down RUN rm /etc/nginx/sites-enabled/default ADD nginx.conf /etc/nginx/sites-enabled/webapp.conf # Prepare folders RUN mkdir /home/app/webapp WORKDIR /tmp ADD Gemfile /tmp/ ADD Gemfile.lock /tmp/ RUN bundle install # Add the rails app ADD . /home/app/webapp 并创建/运行图像. docker build -t myimage . docker run -d -p 80:80 myimage 我已经尝试安装这些库:libpq-dev,nodejs,build-essential,postgresql 解决方法
我的假设是你使用postgres作为数据库,你在图像中缺少libpq-dev.
在使用docker部署rails应用程序时我不使用乘客,但我认为您应该检查是否已安装lib. 您可以尝试添加: RUN apt-get install -y libpq-dev 在你的DOCKERFILE中安装lib. 甚至更好: RUN apt-get update && apt-get install -y libpq-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* && apt-get clean 如果你想让你的形象尽可能小. 边注: 在我看来,你使用的基本图像包含巨大的开销.使用docker时,我的图像通常小于400 MB.您使用的基本映像约为960 MB.您应该检查是否可以使用:latest,因为它更小(~211 MB). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |