Docker:无法访问 Minio Web 浏览器

Leg*_*ggo 4 docker minio

我在访问基于 Minio 嵌入式 Web 的对象浏览器时遇到问题。和http://127.0.0.1:9000地址http://127.0.0.1:45423立即显示“此页面无法正常工作。ERR_INVALID_HTTP_RESPONSE”。

和地址将http://172.22.0.8:9000加载http://172.22.0.8:45423直至超时并显示“此页面无法正常工作ERR_EMPTY_RESPONSE ” 。

我的 Docker 设置中是否缺少某些内容?

docker-compose.yml

version: "3.7"
services:
    minio-image:
        container_name: minio-image
        build:
            context: ./dockerfiles/dockerfile_minio
        restart: always
        working_dir: "/minio-image/storage"
        volumes:
            - ./Storage/minio/storage:/minio-image/storage
        ports:
            - "9000:9000"
        environment:
            MINIO_ROOT_USER: minio-image
            MINIO_ROOT_PASSWORD: minio-image-pass
        command: server /minio-image/storage
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM minio/minio:latest

CMD wget https://dl.min.io/client/mc/release/linux-amd64/mc && \
    chmod +x mc 
Run Code Online (Sandbox Code Playgroud)

来自 minio-image 容器日志:

API: http://172.22.0.8:9000  http://127.0.0.1:9000 


Console: http://172.22.0.8:45423 http://127.0.0.1:45423 


Documentation: https://docs.min.io


WARNING: Console endpoint is listening on a dynamic port (45423), please use --console-address ":PORT" to choose a static port.
Run Code Online (Sandbox Code Playgroud)

通过 cli 登录 docker 容器并运行pwd和分别ls会产生:minio-image/storageairflow-files mlflow-models model-support-files

lar*_*sks 10

我在这里看到一些问题。

首先,您仅发布端口 9000,这是 S3 API 端口。如果我运行你的docker-compose.yml,访问端口 9000 就可以正常工作;在 Docker 主机上,我可以运行curl http://localhost:9000并获取:

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied.</Message><Resource>/</Resource><RequestId>16A25441E50432A4</RequestId><HostId>b1eed50d-9218-488a-9df6-fe008e758b27</HostId></Error>
Run Code Online (Sandbox Code Playgroud)

...这是预期的,因为我没有提供任何凭据。

如果你想访问控制台,你需要做两件事:

  • 根据日志消息的指示,您需要使用 来设置静态控制台端口--console-address
  • 您需要在ports您的docker-compose.yml.

这给了我们:

version: "3.7"
services:
    minio-image:
        container_name: minio-image
        build:
            context: ./dockerfiles/dockerfile_minio
        restart: always
        working_dir: "/minio-image/storage"
        volumes:
            - ./Storage/minio/storage:/minio-image/storage
        ports:
            - "9000:9000"
            - "9001:9001"
        environment:
            MINIO_ROOT_USER: minio-image
            MINIO_ROOT_PASSWORD: minio-image-pass
        command: server /minio-image/storage --console-address :9001
Run Code Online (Sandbox Code Playgroud)

运行上面的代码docker-compose.yml,我可以访问 MinIO 控制台,并使用/凭据http://localhost:9001登录 。minio-imageminio-image-pass