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

问题描述

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

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

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

每个人都build:可以指定Dockerfile@H_403_2@,上下文和args传递给docker。

最后给出一个示例docker-compose.yml@H_403_2@文件

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
@H_403_2@

调用docker-compose build@H_403_2@,仅web@H_403_2@目标将需要构建映像。该docker build@H_403_2@命令如下所示:

docker build -t web_myproject -f Dockerfile-alpine ./web
@H_403_2@

解决方法

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错误
错误“找不到主类”