You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何构建包含多个Dockerfile的应用镜像并推送至Docker Hub

构建多服务Docker镜像并推送至Docker Hub操作步骤

前置准备

  • 已注册Docker Hub账号,若推送私有镜像需确保账号有对应读写权限
  • 本地Docker环境已完成Docker Hub认证,执行命令:docker login,按提示输入用户名和密码即可完成登录

步骤1:修改docker-compose.yml配置

从你给出的项目结构来看,每个子目录对应单个服务的Dockerfile,只需给每个服务节点同时配置build(Dockerfile所在子目录路径)和image(Docker Hub镜像标准命名格式:你的Docker Hub用户名/镜像名:版本标签)即可,示例配置片段如下:

version: '3.8'
services:
  # 示例web服务,Dockerfile存放在./web子目录
  web:
    build: ./web
    image: your_dockerhub_id/web-service:v1.0.0 # 替换为自己的Docker Hub用户名、镜像名、版本标签
    ports:
      - "80:80"
  # 示例api服务,Dockerfile存放在./api子目录
  api:
    build: ./api
    image: your_dockerhub_id/api-service:v1.0.0
    environment:
      - NODE_ENV=production

步骤2:执行镜像构建

在项目根目录(docker-compose.yml所在目录)执行构建命令:
docker compose build
如果需要清理缓存全量构建,可添加--no-cache参数:
docker compose build --no-cache

步骤3:推送镜像至Docker Hub

全量推送所有服务镜像

直接执行命令即可批量推送所有配置了image字段的服务镜像:
docker compose push

推送单个服务镜像

如果只需要推送指定服务的镜像,在命令后添加服务名即可,例如仅推送web服务:
docker compose push web

注意事项

  • 建议使用语义化版本号作为镜像标签,避免直接使用latest标签导致版本覆盖无法回滚
  • 若推送的是私有镜像,其他环境拉取镜像前需先执行docker login完成账号认证

内容的提问来源于stack exchange,提问作者Ktess

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:12:02