我已经设置了一个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构建,但运行创建的图像只会冻结终端。
谢谢!
答案 0 :(得分:0)
docker-compose
是一个容器编排工具,虽然只是一个简单的工具编排工具,而不是多个图像和首选项的捆绑包。事实上,这样的事情甚至不存在。
运行docker-compose up
时会发生的情况是,它为您需要构建的图片({1}}有效运行docker-compose build
,然后有效地替换了web
使用build: .
并执行compose文件定义的配置。
因此,如果您手动运行image: web
并希望手动运行与撰写文件相同的配置,则需要按顺序(按顺序)
docker-compose build
或docker-compose build
以构建docker build -t web .
图片web
docker run --name db postgres