Dockerfile是创建一个图像还是多个图像?

时间:2015-10-04 02:51:11

标签: ruby-on-rails docker docker-compose

我的dock-compose.yml文件

 db:
  image: postgres
  ports:
    - "5432"
web:
  build: .
  command: bundle exec rails s -p 3000 -b '0.0.0.0'
  volumes:
    - .:/myapp
  ports:
    - "3030:3030"
  links:
    - db

我的Dockerfile

FROM ruby:2.1.4
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
RUN bundle install
ADD . /myapp
# RUN bundle exec rake db:create
# RUN bundle exec rake db:migrate
# RUN bundle exec rake db:seed

当我运行docker-compose时,它会创建两个容器,一个包含rails app,另一个包含数据库。我理解每个docker文件创建一个最终的docker镜像(因此创建一个容器),但在这种情况下,我们最终创建了两个不同的容器。有人可以解释一下,这是怎么回事?

1 个答案:

答案 0 :(得分:2)

docker-compose根据两张图片管理两个容器: