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