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

发布于 2021-02-01 12:53:06

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

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

docker-compose build

docker build
关注者
0
被浏览
130
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    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
    


推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看