有什么区别docker-compose build
和docker build
?
假设在Dockerized项目路径中有一个docker-compose.yml
文件:
docker-compose build
和
docker build
答案
docker-compose
可以被视为Docker CLI周围的包装器(实际上,这是Python中的另一个实现在评论中说)为了获得时间并避免使用500个字符的线条(并同时启动多个容器)。它使用一个称为的文件docker-compose.yml
为了检索参数。
您可以找到Docker-Compose文件格式的参考这里。
基本上docker-compose build
会读你的docker-compose.yml
,寻找所有包含的服务build:
声明并运行docker build
为每一个。
每个build:
可以指定Dockerfile
,一个上下文,并争取传递给Docker。
结论一个例子docker-compose.yml
文件 :
version: '3.2'
services:
database:
image: mariadb
restart: always
volumes:
- ./.data/sql:/var/lib/mysql
web:
build:
dockerfile: Dockerfile-alpine
context: ./web
ports:
- 8099:80
depends_on:
- database
打电话时docker-compose build
, 只有web
目标将需要构建图像。这docker build
命令看起来像:
docker build -t web_myproject -f Dockerfile-alpine ./web