ruby-on-rails – 如何使用Dockerfile文件运行bundle install
发布时间:2020-12-16 21:05:58 所属栏目:百科 来源:网络整理
导读:我想使用docker来部署rails应用程序. 我按照官方教程做了: https://docs.docker.com/compose/rails/ 但似乎我不幸运. 我的Dockerfile FROM ruby:2.2.2RUN apt-get update -qq apt-get install -y build-essential# for mysqlRUN apt-get install -y mysql-c
我想使用docker来部署rails应用程序.
我按照官方教程做了: https://docs.docker.com/compose/rails/ 但似乎我不幸运. 我的Dockerfile FROM ruby:2.2.2 RUN apt-get update -qq && apt-get install -y build-essential # for mysql RUN apt-get install -y mysql-client libmysqlclient-dev # for a JS runtime RUN apt-get install -y nodejs ENV APP_HOME /myapp RUN mkdir $APP_HOME WORKDIR $APP_HOME ADD Gemfile $APP_HOME/Gemfile ADD Gemfile.lock $APP_HOME/Gemfile.lock RUN bundle install ADD . $APP_HOME 我的docker-compose.yml db: image: mysql ports: - "3306:3306" web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: - .:/myapp ports: - "3000:3000" links: - db 运行docker-compose build后,它显示: ... Fetching git://github.com/guard/guard-test.git /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/ui/shell.rb:94:in `[]': invalid byte sequence in US-ASCII (ArgumentError) from /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/ui/shell.rb:94:in `strip_leading_spaces' from /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/ui/shell.rb:99:in `word_wrap' from /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/ui/shell.rb:85:in `tell_me' from /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/ui/shell.rb:31:in `error' from /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/friendly_errors.rb:12:in `rescue in with_friendly_errors' from /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/friendly_errors.rb:7:in `with_friendly_errors' from /usr/local/bundle/gems/bundler-1.10.6/bin/bundle:18:in `<top (required)>' from /usr/local/bundle/bin/bundle:23:in `load' from /usr/local/bundle/bin/bundle:23:in `<main>' ERROR: Service 'web' failed to build: The command '/bin/sh -c bundle install' returned a non-zero code: 1 怎么了? 解决方法
查看“
bundle install error “invalid byte sequence in US-ASCII (ArgumentError)””中的类似错误,一个选项是广告到Dockerfile:
export LANG=C.UTF-8 例如,见this Dockerfile. # Install required packages # LANG=C.UTF-8 line is needed for ondrej/php5 repository RUN export LANG=C.UTF-8 && ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |