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

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”