Docker 灵活部署问题求助 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Kinnikuman
V2EX    程序员

Docker 灵活部署问题求助

  •  
  •   Kinnikuman 313 天前 1747 次点击
    这是一个创建于 313 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的项目是这样的,后端可以直接用 Docker 部署。后端用到了 minio ,想支持一键部署,也就是 docker-compose.yml 中有两个服务,一个 app 服务和一个 minio 服务。

    但同时允许用户使用其他的 minio 服务器,如果用户在 .env 中指定了其他的 minio 服务器,那么 docker 中就不需要创建这个 minio 服务了。

    于是我的配置如下:

    # 使用内置 MinIO 服务 MINIO_ENDPOINT=http://minio # 或者使用外部 MinIO 服务 # MINIO_ENDPOINT=http://your-minio-server # MinIO API 端口映射(仅用于内置 MinIO 服务) MINIO_PORT=9000 MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin 
    version: '3.8' services: app: build: . ports: - "3210:3210" env_file: - .env volumes: - ./prisma:/app/prisma - ./logs:/app/logs - sqlite_data:/app/prisma - log_data:/app/logs depends_on: minio: condition: service_started required: false # MinIO 服务仅在未指定外部 MINIO_ENDPOINT 时启用 minio: image: minio/minio ports: - "${MINIO_PORT}:9000" # API 端口 - "9002:9001" # Console 端口 env_file: - .env volumes: - minio_data:/data command: server /data --console-address ":9001" profiles: - with-minio volumes: minio_data: sqlite_data: log_data: 

    这样可以通过脚本来判断 .env ,如果指定了非 http://minio, 那么直接 docker compose up -d app, 如果是默认的 http://minio,则使用 docker compose --profile with-minio up -d 来启动两个服务。

    但是这样有一个问题,后端程序返回给前端的 api 会是 http://minio 这样的 docker 内部服务地址,用户没有办法直连。并且也不希望从后端进行转发上传或者下载的流量。

    所以有什么办法来解决这个问题?

    3 条回复    2025-01-22 15:55:09 +08:00
    hefish
        1
    hefish  
       313 天前
    做两个 docker-compose.yml
    gneko
        2
    gneko  
       313 天前
    你的问题是自建 minio 怎样暴露给外部吧?
    我有一个类似的个人项目,做法是自建 minio 需要手动配置 Nginx 反代对外公开 minio api ,然后额外加一个环境变量,例如 `MINIO_PUBLIC_ENDPOINT`,然后做一个简单的判断,如果为空就返回 `MINIO_ENDPOINT`
    Kinnikuman
        3
    Kinnikuman  
    OP
       313 天前
    @gneko 我理解了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5235 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 05:49 PVG 13:49 LAX 21:49 JFK 00:49
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86