【问题标题】:accessing the minio object presigned get URL both from inside and outside docker container从 docker 容器内部和外部访问 minio 对象预签名获取 URL
【发布时间】:2021-08-22 09:12:57
【问题描述】:

我使用以下 docker-compose.yml 文件来部署 FastAPI、MongoDB、Minio docker 容器。

version: '3.7'
services: 
  db:
    image: mongo:latest
    container_name: mongodb
    user: 1000:1000
    volumes: 
      - /home/krishna/mongodb/db:/data/db

  minio:
    image: minio/minio:latest
    container_name: minio
    command: server /data --console-address ":9001"
    ports:
      - 9000:9000
      - 9001:9001
    volumes:
      - /data:/data

  app:
    build: .
    container_name: imaging_container
    ports:
      - 8888:8888

从 FastAPI 内部,我可以使用 minio:9000 端点连接到 minio 实例。 API 返回请求的 minio 对象的 get_presigned_url 输出,但 url 的格式为 http://minio:9000/imaging/images/30d12c89。 .. 我无法从 docker 容器外部访问。

我找到了一个快速修复/解决方法来解决这个问题,即将这一行添加到 /etc/hosts 文件中

127.0.0.1       minio

但这在我看来是一个便宜的解决方案,主机必须修改他/她的机器。

我觉得这可以通过将 nginx 代理 添加到 docker 容器中轻松解决。但我不知道该怎么做?

如果您可以建议 nginx 配置设置来解决此问题,将会很有帮助,或者也欢迎任何其他建议。

【问题讨论】:

    标签: docker nginx docker-compose fastapi minio


    【解决方案1】:

    您可以尝试通过 docker 端口转发(网络)公开端口 或者 请查看指南: https://docs.min.io/docs/setup-nginx-proxy-with-minio

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多