Docker - 从docker-compose运行图像

时间:2018-03-10 08:24:51

标签: docker docker-compose dockerfile

我已经设置了一个docker-compose.yml文件,该文件与postgres一起运行Web服务。

当我使用 docker-compose up 运行它时效果很好。

搬运工-compose.yml:

version: '3'

services:
  db:
    image: postgres
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

Dockerfile:

FROM python:3
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

CMD ["python", "manage.py", "runserver"]

有没有办法从服务中构建图像?

我尝试使用docker-compose构建,但运行创建的图像只会冻结终端。

谢谢!

1 个答案:

答案 0 :(得分:0)

docker-compose是一个容器编排工具,虽然只是一个简单的工具编排工具,而不是多个图像和首选项的捆绑包。事实上,这样的事情甚至不存在

运行docker-compose up时会发生的情况是,它为您需要构建的图片({1}}有效运行docker-compose build,然后有效地替换了web使用build: .并执行compose文件定义的配置。

因此,如果您手动运行image: web并希望手动运行与撰写文件相同的配置,则需要按顺序(按顺序)

  • 运行docker-compose builddocker-compose build以构建docker build -t web .图片
  • 运行web
  • 运行docker run --name db postgres