首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker compose中“image”和“build”的区别

问docker compose中“image”和“build”的区别
EN

Stack Overflow用户
提问于 2015-12-16 23:35:55
回答 2查看 15.7K关注 0票数 52

请帮助我理解在docker compose中'image‘和'build’之间的区别

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-16 23:43:55

  • image意味着docker compose将基于image
  • build运行容器意味着docker compose将首先基于在与构建关联的路径中找到的Dockerfile构建镜像(然后基于该镜像运行容器)。

PR 2458最终被合并以允许两者(并且在构建时使用image作为镜像名称,如果存在的话)。

therobyouknow提到了in the comments

dockerfile:作为build:下的子语句,可以用来指定Dockerfile的文件名/路径。

代码语言:javascript
复制
version: '3'
services:
  webapp:
    build:
      context: ./dir
      dockerfile: Dockerfile-alternate
      args:
        buildno: 1
票数 44
EN

Stack Overflow用户

发布于 2019-08-15 11:34:46

build:需要dockerfile路径作为参数,它将首先构建镜像,然后使用镜像创建容器。

image:需要现有的镜像名称作为参数,它将使用此镜像启动容器。

示例:docker-compose.yaml

代码语言:javascript
复制
version: '3'
services:
  service1:
    build: .
    ports:
      - "5000:5000"
  service2:
    image: "redis:alpine"

service1会先根据当前路径的Dockerfile构建镜像,并基于该镜像运行容器。

service2将从docker hub下载"redis:alpine“镜像,并在下载的镜像上运行容器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34316047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档