Minio:如何在启动minio服务器时使已经在挂载点中的文件夹和文件可用?

Minio: How to make folders and files already in mount point available when starting minio server?

我是 运行 使用其 docker 图像的 Minio 服务器。

docker run -p 9000:9000 --name minio1 \
  -e "MINIO_ACCESS_KEY=user" \
  -e "MINIO_SECRET_KEY=pass" \
  -v /home/me/data:/data \
  minio/minio server /data

我在挂载点有几个文件夹和文件。如何让它们在 Minio 中可用,我需要上传它们吗?

我可以将它们放在一个文件夹中,并在我初始化服务器时将其添加为存储桶吗?

编辑:

当我在 localhost:9000 上打开 minio web UI 时,我没有看到已经在挂载点的文件和文件夹。

将所有这些文件夹添加到 minio 服务器的最有效方法是什么,以便为树中的第一个文件夹创建一个存储桶,然后将每个文件夹中的所有文件添加到它们的 'folder' 桶作为对象?我可以使用 Minio Python SDK 来实现这一点,例如,通过递归地遍历文件夹树并上传文件,但这是必要的吗?

就其价值而言,您似乎必须使用 minio 命令行客户端来完成此操作:维护者明确拒绝在 Minio 内部添加一个选项来执行此操作(请参阅 https://github.com/minio/minio/issues/4769)。我看到的最简单的选择基本上是做这样的事情:

docker run -p 9000:9000 --name minio1 -e "MINIO_ACCESS_KEY=user" \ 
-e "MINIO_SECRET_KEY=pass" -v /home/me/data:/data \
minio/minio server /data && docker exec -d minio1 \
"/bin/bash /usr/bin/mc config host add srv http://localhost:9000 \
user pass && /usr/bin/mc mb -p srv/bucket"

应该启动 docker 容器,然后执行 mc 客户端来创建存储桶 bucket(如果数据中有不同的文件夹,请更改名称)我想暴露)。

如果您是 Docker Compose 粉丝,您可以尝试 https://gist.github.com/harshavardhana/cb6c0d4d220a9334a66d6259c7d54c95 中记录的内容,或者使用自定义入口点构建您自己的图像。