在 Spring Boot App 中对接后无法在浏览器中打开 Minio

Cannot open Minio in browser after dockerizing it in Spring Boot App

我在浏览器中打开 minio 时遇到问题。我刚刚使用它创建了 Spring 启动应用程序。

这是我的 application.yaml 文件,如下所示。

server:
  port: 8085
spring:
  application:
    name: springboot-minio
minio:
  endpoint: http://127.0.0.1:9000
  port: 9000
  accessKey:  minioadmin #Login Account
  secretKey:  minioadmin # Login Password
  secure: false
  bucket-name: commons # Bucket Name
  image-size: 10485760 #  Maximum size of picture file
  file-size: 1073741824 #  Maximum file size

这是我的 docker-compose.yaml 文件,如下所示。

version: '3.8'

services:
  minio:
    image: minio/minio:latest
    container_name: minio
    environment:
      MINIO_ROOT_USER: "minioadmin"
      MINIO_ROOT_PASSWORD: "minioadmin"
    volumes:
      - ./data:/data
    ports:
      - 9000:9000
      - 9001:9001

我 运行 通过下面显示的这些命令。

1 ) docker-compose up -d
2 ) docker ps -a
3 ) docker run minio/minio:latest

结果如下所示。

C:\Users\host\IdeaProjects\SpringBootMinio>docker run minio/minio:latest
NAME:
  minio - High Performance Object Storage

DESCRIPTION:
  Build high performance data infrastructure for machine learning, analytics and application data workloads with MinIO

USAGE:
  minio [FLAGS] COMMAND [ARGS...]

COMMANDS:
  server   start object storage server
  gateway  start object storage gateway

FLAGS:
  --certs-dir value, -S value  path to certs directory (default: "/root/.minio/certs")
  --quiet                      disable startup information
  --anonymous                  hide sensitive information from logging
  --json                       output server logs and startup information in json format
  --help, -h                   show help
  --version, -v                print the version

VERSION:
  RELEASE.2022-01-08T03-11-54Z

当我在浏览器中输入127.0.0.1:9000时,无法打开MinIo登录页面

我该如何解决我的问题?

MinIO 文档包含一个 MinIO Docker Quickstart Guide,其中包含一些启动容器的方法。这里重要的是你不能只是 docker run minio/minio;它需要 运行 的命令,可能 server。这也需要转化为您的 Compose 设置。

该页面上的第一个示例分解如下:

docker run                     \
  -p 9000:9000 -p 9001:9001    \  # publish ports
  -e "MINIO_ROOT_USER=..."     \  # set environment variables
  -e "MINIO_ROOT_PASSWORD=..." \
  quay.io/minio/minio          \  # image name
  server /data --console-address ":9001"  # command to run

最后一条命令很重要。在您仅 docker run 图像并获得帮助消息的示例中,这是因为您省略了命令。在 Compose 设置中,您也没有 command: 行;如果您查看 docker-compose ps,我希望您会看到容器已退出,并且 docker-compose logs minio 可能会显示相同的帮助消息。

您可以使用 command::

在您的 Compose 设置中包含该命令
version: '3.8'
services:
  minio:
    image: minio/minio:latest
    environment:
      MINIO_ROOT_USER: "..."
      MINIO_ROOT_PASSWORD: "..."
    volumes:
      - ./data:/data
    ports:
      - 9000:9000
      - 9001:9001
    command: server /data --console-address :9001  # <-- add this