docker compose 和build

目录

docker compose 和build 的区别是什么?

核心差别:

1. docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly_lbg .

2. docker compose -f docker-compose-gpu.yml up -d

二者如何配合?

总结


docker compose 和build 的区别是什么?

核心差别:

  • docker build 负责 “做镜像”——把 Dockerfile 描述的代码和依赖打包成一个镜像文件。

  • docker compose … up 负责 “跑容器”——按 docker‑compose.yml(或你指定的文件)里的编排,把一个或多个镜像启动成后台服务,并自动连网、挂卷、注入环境变量等。


1. docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly_lbg .

组件作用
docker build根据 Dockerfile 把代码/依赖打成一个镜像。
--platform linux/amd64在非 x86 机器上(如 Apple Silicon)用 QEMU 模拟构建 x86_64 镜像。
-f Dockerfile指定 Dockerfile 路径;默认就是 ./Dockerfile,这里显式写出。
-t infiniflow/ragflow:nightly_lbg给生成的镜像起名字并打标签(repo:tag)。
.构建上下文,通常是项目根目录。

结果:本地多了一个镜像 infiniflow/ragflow:nightly_lbg,但它 还没运行


2. docker compose -f docker-compose-gpu.yml up -d

组件作用
docker composeDocker 官方编排工具 (v2)。
-f docker-compose-gpu.yml指定使用哪份 Compose 文件,里面描述了多服务、挂载、网络、GPU 配置等。
up创建并启动文件中定义的容器、网络、卷等。
-ddetached mode:后台运行,不占当前终端。

结果:按照 docker-compose-gpu.yml 里的配置,把所需镜像(可能会自动 pullbuild)启动成一组互联容器。


二者如何配合?

  • 先 build,再 compose(常见流程)

    1. docker build … -t myapp:latest . ⟵ 得到最新镜像

    2. docker-compose.yml 里把服务的 image: 写成 myapp:latest

    3. docker compose up -d ⟵ 运行用这镜像的新容器

  • Compose 里直接 build
    docker-compose.yml 也可以写 build: 指令,docker compose up 时自动帮你执行 docker build,再起容器。


总结

命令关键词主要动作产物
docker build …镜像制作解析 Dockerfile → 构建层 → 生成镜像镜像
docker compose up …服务编排拉/建镜像 → 创建容器、网络、卷 → 启动正在运行的容器(集)

若把它们比作做饭:docker build 像“把食材做成速冻菜包”;docker compose up 像“按照菜单一次性开火、摆盘、上桌,让每道菜在对的灶上同时开煮”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值