连接到Docker容器中的MinIO

insrf1ej  于 2023-03-17  发布在  Docker
关注(0)|答案(2)|浏览(183)

我有迷你在Docker容器称为“be_minio”。我想连接到该容器与我的应用程序从另一个容器称为“be_API”。

be_api:
    build: .
    restart: always
    ports:
      - 8080:80
    depends_on:
      - be_minio

be_minio:
    image: minio/minio
    restart: always
    ports:
      - 9000:9000
      - 9001:9001
    volumes:
      - ./volume_minio:/data
    command: server --address ":9000" --console-address ":9001" /data
    environment:
      ...

带有节点sdk的配置文件

const Minio = require('minio')

const minioClient = new Minio.Client({
    endPoint: "be_minio",
    port: 9000,
    useSSL: false,
    accessKey: ...,
    secretKey: ...
})

export default minioClient

但端点“be_minio”不是有效的URL。

S3Error: Invalid Request (invalid hostname)

对此有什么解决办法吗?比如说网络,或者类似的东西?

m0rkklqb

m0rkklqb1#

经过长时间的搜索,尝试,编码等,我发现了一些错误,但究竟是什么原因造成的问题是不清楚。
1.在Dock中使用破折号-组合服务名称,而不是下划线

  1. Envs只是字符串Boolean(process.env.ssl) ## Boolean("false") -> true
    虽然我设法使它工作,但当我生成公共url时,minioClient返回docker-compose服务名作为domain:(。
cwtwac6a

cwtwac6a2#

虽然我设法使它工作,但当我生成公共url时,minioClient返回docker-compose服务名作为domain:(。
您应该使用X-Forwarded HTTP头。请使用Nginx检查此文档作为示例:https://min.io/docs/minio/linux/integrations/setup-nginx-proxy-with-minio.html

location /minio {
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      ...

相关问题