Minio:使用 docker-compose 添加公共存储桶

mam*_*low 1 amazon-s3 docker-compose minio

下面是我的 docker compose 中的一项服务。

  minio:
    image: minio/minio:edge
    environment:
      MINIO_ACCESS_KEY: minio123
      MINIO_SECRET_KEY: minio123
    volumes:
      - datastore:/data
    ports:
      - 9000:9000
    networks:
      - devnetwork
    command: server /data
Run Code Online (Sandbox Code Playgroud)

我尝试了多个命令,如下所示:

mc policy set public myminio/mybucket
Run Code Online (Sandbox Code Playgroud)

当我尝试访问存储桶中的图像时,总是出现以下错误

  <?xml version="1.0" encoding="UTF-8"?>
  <Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied.</Message>
  <Key>images/281c1458-41cd-4e1e-b6d5-b7243b9ac650.jpg</Key>
  <BucketName>mybucket</BucketName>
  <Resource>/mybucket/images/281c1458-41cd-4e1e-b6d5-b7243b9ac650.jpg</Resource>
  <RequestId>1667FAC6085F2E6C</RequestId>
  <HostId>9159f2da-4de3-4300-91fe-d59a41d883c4</HostId>
  </Error>
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以将 mc 添加到 docker-compose 中,如下所示 - https://github.com/minio/minio/issues/4769

对 mc 命令中发生的更改进行一些更新,它看起来像这样:

version: "2"
services:
  minio:
    image: minio/minio
    ports:
      - "9000:9000"
    volumes:
      - datastore:/data
    environment:
      - "MINIO_ACCESS_KEY=minio"
      - "MINIO_SECRET_KEY=minio123"
    command: server /data

  createbuckets:
    image: minio/mc
    depends_on:
      - minio
    entrypoint: >
      /bin/sh -c "
      /usr/bin/mc alias set myminio http://minio:9000 minio minio123;
      /usr/bin/mc mb myminio/somebucketname;
      /usr/bin/mc policy set public myminio/somebucketname;
      exit 0;
      "
Run Code Online (Sandbox Code Playgroud)

  • 感谢您更新。Minio 现在确实应该拥有这个,它的用户有 1/2 - 用于测试的快速 docker。 (5认同)
  • “mcpolicy”命令已替换为“mcanonymous”,因此“set”命令变为“/usr/bin/mcanonymoussetpublicmyminio/somebucketname;”。请参阅[文档](https://min.io/docs/minio/linux/reference/minio-mc/mc-anonymous-set.html)。 (3认同)