Docker-Compose minio在浏览器中查看时切换端口

3
我正在使用以下部分的docker-compose.yml文件将S3兼容服务添加到我的本地开发环境中:
  minio:
    image: minio/minio
    container_name: experiments_minio
    ports:
      - '9000:9000'
      - '9001:9001'
    environment:
      - MINIO_ACCESS_KEY=12345678
      - MINIO_SECRET_KEY=password
    command: server /data

当我运行docker-compose up时,minio会出现在活动容器列表中:
bb3b62a7a094   quiz_experiments_www   "docker-php-entrypoi…"   4 hours ago   Up 4 hours   0.0.0.0:81->80/tcp                  experiments_www
121520becb01   minio/minio            "/usr/bin/docker-ent…"   4 hours ago   Up 4 hours   0.0.0.0:9000-9001->9000-9001/tcp    experiments_minio
94e7c9494226   adminer                "entrypoint.sh docke…"   4 hours ago   Up 4 hours   0.0.0.0:8080->8080/tcp              experiments_adminer
ef012349a6ce   mysql                  "docker-entrypoint.s…"   4 hours ago   Up 4 hours   33060/tcp, 0.0.0.0:3307->3306/tcp   experiments_db

我的问题是当我访问localhost/9001时,浏览器会将URL的端口部分随机更改,导致我无法进入minio管理员界面。

命令行输出确实提到使用--console-address来设置静态端口,否则将自动分配端口。

我可以在终端中直接使用以下代码来设置minio容器:

docker run \
  -p 9000:9000 \
  -p 9001:9001 \
  minio/minio server /data --console-address ":9001"

但是如何在docker-compose中设置--console-address标志(或等效标志)?


看一下你 compose 文件中的 command,在那里添加 --console-address ":9001",我不明白为什么他们没有添加 MINIO_CONSOLE_ADDRESS 环境变量。 - Lawrence Cherone
谢谢@LawrenceCherone,但是命令:“--console-address“:”9000“没有起作用。 - sisko
1个回答

10

在经过大量研究后,以下设置已被证明有效。

version: "3"

services:
  minio:
    image: minio/minio:latest
    container_name: experiments_minio
    # restart: always
    ports:
      - '9000:9000'
      - '9001:9001'
    environment:
      - MINIO_ACCESS_KEY=12345678
      - MINIO_SECRET_KEY=password
      - CONSOLE_ACCESS_KEY=test
      - CONSOLE_SECRET_KEY=test
    command: server --address ":9000" --console-address ":9001" /data
    volumes:
      - minio_data:/data

volumes:
  minio_data:
    external: true

这部分对我有用,谢谢。命令:服务器 --地址 ":9000" --控制台地址 ":9001" /数据 - Virendra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接