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

15

下面是我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

我尝试了多个类似以下的命令:

mc policy set public myminio/mybucket

每当我尝试访问存储桶中的图像时,总是会收到以下错误。

Translated text:

每当我尝试访问存储桶中的图像时,总是会收到以下错误。

  <?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>
2个回答

33

你可以像这样将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;
      "

5
感谢更新。Minio现在应该已经具备这个功能,因为它是一半用户的选择 - 快速用Docker测试。 - Andrew
mc policy命令已被替换为mc anonymous,因此set命令变为/usr/bin/mc anonymous set public myminio/somebucketname;。请参阅文档 - Chad von Nau

-2

我通过访问下面的minio web客户端图像来解决了我的问题: Minio Web client

步骤1:

打开您想要公开的存储桶的设置 enter image description here 点击编辑设置

步骤2:

添加一个新策略。我没有在策略中输入任何内容,只是在下拉菜单中选择了读写选项。这将生成一个具有读写权限的'*'策略。

enter image description here


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