docker-compose错误,当我运行包

当我运行一些像这样的任务时,我有一个关于我的gemfile或bundle的错误:

docker exec -it webapp_web_1 bundle exec rake db:migrate 

错误: 找不到Gemfile或.bundle /目录

或者这个命令:

 docker-compose logs worker log: Attaching to webapp_worker_1 worker_1 | Could not locate Gemfile or .bundle/ directory 

Dockerfile:

 # === 1 === FROM phusion/passenger-ruby22:0.9.18 MAINTAINER Israel Barba Aceves "israel@yotepresto.com" # Set correct environment variables. ENV HOME /root RUN apt-get update && apt-get install -y libqt4-dev libqtwebkit-dev imagemagick # Use baseimage-docker's init system. CMD ["/sbin/my_init"] # === 2 === # Start Nginx / Passenger RUN rm -f /etc/service/nginx/down # === 3 ==== # Remove the default site RUN rm /etc/nginx/sites-enabled/default # Add the nginx info ADD webapp.conf /etc/nginx/sites-enabled/webapp.conf # === 4 === # Prepare folders RUN mkdir /home/app/webapp # === 5 === # Run Bundle in a cache efficient way WORKDIR /tmp ADD Gemfile /tmp/ ADD Gemfile.lock /tmp/ RUN bundle install #WORKDIR /webapp #RUN RAILS_ENV=staging rake assets:precompile --trace # === 6 === # Add the rails app ADD . /home/app/webapp RUN mkdir /home/app/webapp/tmp/cache/assets/staging RUN mkdir /home/app/webapp/tmp/cache/assets/staging/sprockets # RUN chown -R app:app /home/app/webapp/tmp/cache/assets/staging RUN chown -R app:app /home/app/webapp #RAILS_ENV=staging rake assets:precompile # Clean up APT when done. RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 

泊坞窗,compose.yml

 db: image: postgres ports: - "5432" volumes: - ytp-postgres:/var/lib/postgresql/data redis: image: redis ports: - "6379" volumes: - ytp-redis:/var/lib/redis/data web: build: . volumes: - .:/web ports: - "80" links: - redis - db environment: RACK_ENV: staging RAILS_ENV: staging worker: build: . volumes_from: - web command: bundle exec sidekiq -es -c 5 -C config/sidekiq.yml environment: RAILS_ENV: staging links: - redis - db 

此外,我不能从我的configuration启动Sidekiq,我想这是关于卷的东西,但我不知道,我已经以许多方式编辑这个文件没有成功…任何build议?

Docker版本: 1.9.1

Docker-compose版本 1.6.0rc2

谢谢。

您必须修改Dockerfile的最后一部分以匹配您的docker撰写文件的文件夹:

 WORKDIR /web ADD Gemfile /web/ ADD Gemfile.lock /web/ RUN bundle install