1. 镜像下载

docker pull minio/minio

2. 安装前准备

创建配置 和 数据挂载目录

mkdir -p /data/minio/config && mkdir -p /data/minio/data

# 建议设置目录权限为 775,防止因为用户切换启动docker容器导致数据无法持久化(wsl2中就存在这个坑)
chmod 775 -R /data/minio

3. 运行容器

方式一

docker run -d \
-p 9000:9000 \
-p 9090:9090 \
--name minio \
--restart=always \
-e "MINIO_ACCESS_KEY=minio" \
-e "MINIO_SECRET_KEY=minio@123456" \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
 minio/minio server \
/data --console-address ":9090" -address ":9000"

方式二

创建minio所需环境变量文件

vi /data/minio/config.env
# 下入下面的内容
MINIO_ACCESS_KEY=minio
MINIO_SECRET_KEY=minio@123456

MINIO_VOLUMES="/data"

然后运行容器

docker run -d \
-p 9000:9000 \
-p 9090:9090 \
--name minio \
--restart=always \
-e "MINIO_CONFIG_ENV_FILE=/etc/config.env" \
-v /data/minio/config.env:/etc/config.env \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
 minio/minio server \
--console-address ":9090" -address ":9000"

config.env示例

# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment

MINIO_ROOT_USER=myminioadmin
MINIO_ROOT_PASSWORD=minio-secret-key-change-me

# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.

MINIO_VOLUMES="/mnt/data"

# MINIO_OPTS sets any additional commandline options to pass to the MinIO server.
# For example, `--console-address :9001` sets the MinIO Console listen port
MINIO_OPTS="--console-address :9001"

# MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server
# MinIO assumes your network control plane can correctly resolve this hostname to the local machine

# Uncomment the following line and replace the value with the correct hostname for the local machine and port for the MinIO server (9000 by default).

#MINIO_SERVER_URL="http://minio.example.net:9000"

3.1 环境变量说明

  • MINIO_OPTS 包含在启动MinIO服务器时要使用的 parameters

例如,为了设置FTP访问,您可以将变量设置为以下内容:

export MINIO_OPTS=' "--console-address="9001" --ftp="address=:8021" --ftp="passive-port-range=30000-40000" '
  • MINIO_VOLUMES 用作存储后端的目录或驱动器,上述示例中,设置的 /data 目录
  • MINIO_CONFIG_ENV_FILE 指定MinIO服务器进程用于加载环境变量的文件的全路径

  • MINIO_ILM_EXPIRY_WORKERS 指定应为其配置了生命周期管理(ILM)规则以进行过期的对象提供的工作者的数量。 如果未设置,MinIO 将默认使用可用的处理核心数量的一半

域名相关
  • MINIO_DOMAIN 启用对MinIO部署的虚拟主机样式请求。 将值设置为MinIO接受传入虚拟主机请求的完全限定域名(FQDN)。

省略此设置会导致MinIO只接受默认的路径样式请求。

例如, 假设有一个MinIO部署,分配给它的FQDN是 minio.example.net

使用路径样式查找,应用程序可以使用其完整路径 minio.example.net/mybucket 来访问存储桶。

使用虚拟主机查找,应用程序可以将存储桶作为虚拟主机来访问,例如 mybucket.minio.example.net/

重要
如果您配置了 MINIO_DOMAIN,那么您 必须 考虑指定FQDN的所有子域名,这些子域名专用于作为存储桶名称使用。 任何与这些域冲突的MinIO服务,例如复制目标,可能会由于冲突而表现出意外或不希望的行为。
例如, 如果设置 MINIO_DOMAIN=minio.example.net,则 不能 将 minio.example.net 的任何子域名(如 *.minio.example.net )分配给任何MinIO服务或目标。 这包括用于 存储桶、 批量操作 或 站点复制 的主机名。

  • MINIO_ROOT_USER root 用户的访问密钥(access key)

  • MINIO_ROOT_PASSWORD root 用户的密钥(secret key)

MinIO控制台设置
  • MINIO_BROWSER 可选,指定 off 以禁用嵌入式MinIO控制台

  • MINIO_BROWSER_LOGIN_ANIMATION 可选,指定 off 以禁用MinIO控制台的动画登录屏幕。 默认为 on.(在 MinIO 版本加入: Server RELEASE.2023-05-04T21-44-30Z)

  • MINIO_BROWSER_REDIRECT 指定是否来自Web浏览器的请求自动重定向到控制台地址。 默认为 true. (在 MinIO 版本加入: Server RELEASE.2023-09-16T01-01-47Z)

  • MINIO_BROWSER_REDIRECT_URL 浏览器重定向 URL, 指定MinIO控制台监听传入连接的完全合格域名(FQDN).

  • MINIO_BROWSER_SESSION_DURATION 指定用于与MinIO控制台一起工作的浏览器会话的持续时间.

  • MINIO_SERVER_URL 可选,服务器地址,指定MinIO控制台必须使用以连接到MinIO服务器的完全合格域名(FQDN)。

    控制台还使用此值设置生成预签名URL时的根主机名。

    如果出现以下情况,则可能需要此设置:

    MinIO服务器使用一个TLS证书,该证书在证书的备用主题名称(SAN)中不包括本地IP(们) 或者

    控制台必须使用特定的主机名来连接或引用MinIO服务器,例如,由于反向代理或类似配置的原因。

  • MINIO_LOG_QUERY_URL 日志查询URL

    指定MinIO写入 审计日志 的PostgreSQL服务的URL。 嵌入式MinIO控制台提供了一个日志搜索工具,该工具允许查询PostgreSQL服务中收集的日志。

参考内容https://www.minio.org.cn/docs/minio/linux/reference/minio-server/settings/core.html

作者:admin  创建时间:2024-05-17 10:09
最后编辑:admin  更新时间:2024-05-19 00:06