joe*_*oes 7 ruby-on-rails ruby-on-rails-4 docker docker-compose
我是Docker的新手,并开始使用Docker Compose在我的OS X 10.10机器上开发我的rails 4应用程序.rails应用程序工作正常,但如果我尝试使用以下命令运行rails控制台:
docker-compose run web bundle exec rails console
Run Code Online (Sandbox Code Playgroud)
要么
docker-compose run web rails console
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
无法在任何源代码中找到CFPropertyList-2.3.1运行
bundle install以安装缺少的gem.
我尝试过docker-compose run web bundle install,但我继续得到同样的错误.这背后的原因是什么?下面是我的Dockerfile和docker-compose.yml.
Dockerfile
FROM ruby:2.2.0
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs npm nodejs-legacy
RUN npm install -g phantomjs
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp
Run Code Online (Sandbox Code Playgroud)
泊坞窗,compose.yml
version: '2'
services:
db:
image: postgres
mailcatcher:
image: yappabe/mailcatcher
ports:
- "1025:1025"
- "1080:1080"
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "3000:3000"
links:
- db
- mailcatcher
Run Code Online (Sandbox Code Playgroud)
要访问 Rails 控制台,您需要 docker 命令,而不是 docker-compose。第一次运行
docker ps
Run Code Online (Sandbox Code Playgroud)
查找容器 ID(例如 916703608c5e),然后使用该容器 ID 运行 docker exec:
docker exec -ti 916703608c5e rails console production
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8332 次 |
| 最近记录: |