簡體   English   中英

Docker無法在Rails捆綁軟件上構建安裝rake

[英]Docker failed to build on Rails bundle Install rake

我使用Docker for Windows運行Rails(v5)應用程序的映像。

當我執行docker-compose build此錯誤。 我不知道該去哪里調試和/或解決這個問題。

這是我的Dockerfile

FROM ruby:2.3.3-slim

RUN apt-get update && apt-get install -y build-essential
RUN apt-get install -y libmysqlclient-dev
RUN apt-get install -y mysql-client
RUN apt-get install -y libmagickwand-dev imagemagick
RUN apt-get install -y curl
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install -y nodejs
RUN apt-get install -y git
#RUN npm install -g phantomjs

RUN gem update --system

RUN mkdir -p /MyImage
WORKDIR /MyImage
COPY Gemfile Gemfile
COPY Gemfile.lock Gemfile.lock
RUN gem install bundler
RUN bundle install

COPY package.json package.json
RUN npm update
RUN npm install

COPY . /MyImage

CMD [ "foreman", "start" ]

這是我的錯誤的日志:

Step 15/20 : RUN bundle install
 ---> Running in 4bf360b89cb7
The git source `git://github.com/acrogenesis/owlcarousel-rails.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
The git source `git://github.com/sinatra/sinatra.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
Fetching source index from https://rubygems.org/
Fetching source index from https://rails-assets.org/
Fetching git://github.com/sinatra/sinatra.git
Fetching git://github.com/acrogenesis/owlcarousel-rails.git
Fetching gem metadata from https://rails-assets.org/..
Fetching rake 12.1.0
Installing rake 12.1.0
Errno::ENOENT: No such file or directory @ rb_sysopen -
/usr/local/lib/ruby/site_ruby/2.3.0/bundler/templates/Executable
An error occurred while installing rake (12.1.0), and Bundler cannot continue.
Make sure that `gem install rake -v '12.1.0'` succeeds before bundling.

In Gemfile:
  autonumeric-rails was resolved to 2.0.0.1, which depends on
    jquery-rails was resolved to 4.3.1, which depends on
      railties was resolved to 5.0.6, which depends on
        rake
ERROR: Service 'MyImage' failed to build: The command '/bin/sh -c bundle install' returned a non-zero code: 5

但是,當我將gem install rake -v '12.1.0'直接gem install rake -v '12.1.0'到容器的外殼中時,一切都安裝正確。

只需嘗試按照錯誤消息中的說明自行安裝rake:

gem install rake -v '12.1.0'

要調試:

  1. DockerfileRUN bundle install開始到結束的所有行;

  2. 然后運行docker build -t test:0.0 . ;

  3. 要啟動交互式會話: docker run -it test:0.0 /bin/bash ;

  4. 嘗試手動執行gem install rake -v '12.1.0' ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM