ruby-on-rails - Docker build 说的是无法满足的约束
问题描述
我正在尝试设置一个可以运行使用 ruby 1.8.7 的旧 Rails 2.3 应用程序的 docker 映像。
我找到了这个 dockerfile,当我尝试运行它时,我收到以下错误:
获取 http://alpine.gliderlabs.com/alpine/v3.6/main/x86_64/APKINDEX.tar.gz 获取 http://alpine.gliderlabs.com/alpine/v3.6/community/x86_64/APKINDEX.tar .gz 错误:无法满足的约束:ruby-rmagick(缺失):要求:world[ruby-rmagick] libressl-dev-2.5.5-r2:冲突:openssl-dev-1.0.2o-r1[pc:libcrypto=2.5.5 ] openssl-dev-1.0.2o-r1[pc:libssl=2.5.5] openssl-dev-1.0.2o-r1[pc:openssl=2.5.5] 满足:mariadb-dev-10.1.32-r0[libressl -dev] openssl-dev-1.0.2o-r1:冲突:libressl-dev-2.5.5-r2[pc:libcrypto=1.0.2o] libressl-dev-2.5.5-r2[pc:libssl=1.0.2o ] libressl-dev-2.5.5-r2[pc:openssl=1.0.2o] 满足:world[openssl-dev] 错误:服务'rails'未能构建:命令'/bin/sh -c apk update && apk升级 &&
apk --no-cache add tzdata $BUILD_PACKAGES $GEM_PACKAGES && cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && apk del tzdata' 返回非零代码:4
Dockerfile 看起来像:
FROM gliderlabs/alpine:latest
ENV BUILD_PACKAGES bash wget curl tar make gcc alpine-sdk zlib zlib-dev readline
ENV GEM_PACKAGES openssl openssl-dev libxml2-dev libxslt-dev mysql mariadb-dev imagemagick imagemagick-dev imagemagick-c++ ruby-rmagick
RUN apk update && \
apk upgrade && \
apk --no-cache add tzdata \
$BUILD_PACKAGES $GEM_PACKAGES && \
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \
apk del tzdata
# build ruby
RUN wget -q -O ruby-1.8.7-p374.tar.gz http://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p374.tar.gz && \
tar -zxvf ruby-1.8.7-p374.tar.gz && \
rm ruby-1.8.7-p374.tar.gz
WORKDIR ruby-1.8.7-p374
RUN ./configure --with-openssl-dir=/usr/bin
RUN make
RUN make install
# install rubygems
WORKDIR /
RUN wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz && \
tar -zxvf rubygems-1.3.7.tgz && \
rm rubygems-1.3.7.tgz
WORKDIR rubygems-1.3.7
RUN ruby setup.rb
# install bundler
RUN gem install bundler
WORKDIR /app
COPY Gemfile /app/
# bundle install
RUN bundle install
COPY . /home/app
解决方案
推荐阅读
- javascript - 为什么我们在 javascript 的 for...of 循环中使用 const?
- linux - 如果有任何脚本或命令可以检查哪些 NFS 挂载有问题,哪些没有问题?
- groovy - 使用 Groovy 在 SoapUI 中使用 Xpath 查询在 XML 节点中使用 xsi 获取属性值
- r-exams - 如何配置 R/Exams 以使用系统 LaTeX?
- javascript - 在对象数组中查找元素
- javascript - 我试图建立一个网站,javascript数学不起作用
- python - 将熊猫列与python中的数字相乘
- android - android - 在 TextView 元素的底部添加边框
- php - Wordpress 重写规则导致 302 重定向循环
- php - 如何从moodle url中删除子目录?