当前位置: 首页 > 知识库问答 >
问题:

docker compose中“图像”和“构建”之间的差异

越涵衍
2023-03-14

请帮助我理解docker compose中“图像”和“构建”之间的区别

共有2个答案

孙胜泫
2023-03-14

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

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

示例:docker compose。亚马尔

version: '3'
services:
  service1:
    build: .
    ports:
      - "5000:5000"
  service2:
    image: "redis:alpine"

Service1将首先基于当前路径的Dockerfile构建镜像,并基于此镜像运行容器。

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

郎增
2023-03-14
  • Image表示docker comment将基于该镜像运行容器
  • 构建意味着docker comment将首先基于与构建相关联的路径中找到的Dockerfile构建镜像(然后基于该镜像运行容器)。

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

therobyouknow在评论中提到:

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

version: '3'
services:
  webapp:
    build:
      context: ./dir
      dockerfile: Dockerfile-alternate
      args:
        buildno: 1
 类似资料:
  • AndroidLollipop5.0.1 内核版本:3.10.53 i.MX6 双核 你好, 我在系统服务器中做了一些更改,并构建了一个API供客户的应用程序使用,但当我尝试构建SDK以允许我在Android Studio中测试更改后的API时,它失败了,并出现了标题中的错误(调试如下)。 这是我的过程: > 做了我的服务和各自的经理。 运行“make update-api” 按照以下说明操作:

  • 我们使用意图在两个活动之间切换,片段也是出于相同的目的。那么为什么我们不能总是使用意图而不是片段呢?

  • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。

  • 我来自Java背景,刚接触Scala。 我正在使用Scala和Spark。但是我不明白我在哪里使用和。 有人能告诉我在哪种情况下我需要使用这两个操作符吗?和之间有什么区别吗?

  • 我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?

  • 我有一个Dockerfile文件,其中包含一系列执行“apt get install”的运行指令;例如,几行: 执行“docker build”后,如果我执行“docker image-a”,我会看到构建过程中创建的所有基本-孩子-孩子-......图像的列表。 我想看看在执行“apt get install-y git”行时安装的所有软件包的列表(包括可能已经安装的依赖软件包,以及git软件包)