docker-compose build和docker build有什么区别?

问题描述

docker-compose可以被认为是DockerCLI的包装器(实际上,它是python中的另一种实现,如[注释中所述),以节省时间并避免500个字符长的行(并同时启动多个容器)。它使用一个名为的文件docker- compose.yml来检索参数。

您可以在此处找到docker- compose文件格式的参考。

因此,基本上,docker-compose build您将阅读docker- compose.yml,查找包含该build:语句的所有服务,并docker build为每个服务运行一个。

每个人都build:可以指定Dockerfile,上下文和args传递给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

解决方法

docker-compose build和之间有什么区别docker build

假设在dockerized项目路径中有一个docker-compose.yml文件:

docker-compose build

docker build

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...