在 Docker 中运行 MinIO。
springboot 实战电商我的项目 mall4j(https://gitee.com/gz-yami/mall4j)
MinIO 须要一个长久卷来存储配置和利用数据。不过, 如果只是为了测试一下, 您能够通过简略地传递一个目录(在上面的示例中为/ data
)启动 MinIO。这个目录会在容器启动时在容器的文件系统中创立,不过所有的数据都会在容器退出时失落。
docker run -p 9000:9000 \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
minio/minio server /data
要创立具备永恒存储的 MinIO 容器,您须要将本地长久目录从主机操作系统映射到虚构配置 ~/.minio
并导出/data
目录。为此,请运行以下命令
GNU/Linux 和 macOS
docker run -p 9000:9000 \
--name minio1 \
-v /mnt/data:/data \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
minio/minio server /data
Windows
docker run -p 9000:9000 \
--name minio1 \
-v D:\data:/data \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
minio/minio server /data
Docker Compose 容许定义和运行单主机,多容器 Docker 应用程序。
应用 Compose,您能够应用 Compose 文件来配置 MinIO 服务。而后,应用单个命令,您能够通过你的配置创立并启动所有分布式 MinIO 实例。分布式 MinIO 实例将部署在同一主机上的多个容器中。这是建设基于分布式 MinIO 的开发,测试和预公布环境的好办法。
MinIO Docker 提醒
MinIO 自定义 Access 和 Secret 密钥
要笼罩 MinIO 的主动生成的密钥,您能够将 Access 和 Secret 密钥设为环境变量。MinIO 容许惯例字符串作为 Access 和 Secret 密钥。
GNU/Linux 和 macOS
docker run -p 9000:9000 --name minio1 \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
-v /mnt/data:/data \
minio/minio server /data
Windows
docker run -p 9000:9000 --name minio1 \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
-v D:\data:/data \
minio/minio server /data
以普通用户身份运行 MinIO Docker
Docker 提供了标准化的机制,能够以非 root 用户身份运行 docker 容器。
GNU/Linux 和 macOS
在 Linux 和 macOS 上,你能够应用 --user
以普通用户身份来运行容器。
留神: 在应用
--user
前,肯定要确保 –user 指定的用户具备 ${HOME}/data 的写入权限。
mkdir -p ${HOME}/data
docker run -p 9000:9000 \
--user $(id -u):$(id -g) \
--name minio1 \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMIK7MDENGbPxRfiCYEXAMPLEKEY" \
-v ${HOME}/data:/data \
minio/minio server /data
Windows
在 windows 上,你须要用到 Docker 集成 Windows 身份验证 和 创立具备 Active Directory 反对的容器 的能力
留神: 在应用
credentialspec=
时,要确保你的 AD/Windows 用户具备 D:\data 的写入权限。
docker run -p 9000:9000 \
--name minio1 \
--security-opt "credentialspec=file://myuser.json"
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMIK7MDENGbPxRfiCYEXAMPLEKEY" \
-v D:\data:/data \
minio/minio server /data
应用 Docker secrets 进行 MinIO Access 和 Secret 密钥自定义
要笼罩 MinIO 的主动生成的密钥, 你能够把 secret 和 access 秘钥创立成 Docker secrets. MinIO 容许惯例字符串作为 Access 和 Secret 密钥。
echo "AKIAIOSFODNN7EXAMPLE" | docker secret create access_key -
echo "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" | docker secret create secret_key -
应用 docker service
创立 MinIO 服务,并读取 Docker secrets。
docker service create --name="minio-service" --secret="access_key" --secret="secret_key" minio/minio server /data
更多 docker service
信息,请拜访 这里
自定义 MinIO Access 和 Secret 密钥文件
要应用其余密钥名称,请把下面的 access_key
和 secret_key
替换为你自定义的名称(比方my_secret_key
,my_custom_key
)。应用如下命令运行服务
docker service create --name="minio-service" \
--secret="my_access_key" \
--secret="my_secret_key" \
--env="MINIO_ROOT_USER_FILE=my_access_key" \
--env="MINIO_ROOT_PASSWORD_FILE=my_secret_key" \
minio/minio server /data
获取容器 ID
在容器中应用 Docker 命令, 你须要晓得这个容器的 容器 ID
。为了获取 Container ID
, 运行
docker ps -a
-a
flag 确保你获取所有的容器(创立的,正在运行的,退出的),而后从输入中辨认Container ID
。
启动和进行容器
启动容器, 你能够应用 docker start
命令。
docker start <container_id>
进行一下正在运行的容器, 应用 docker stop
命令。
docker stop <container_id>
MinIO 容器日志
获取 MinIO 日志,应用 docker logs
命令。
docker logs <container_id>
监控 MinioDocker 容器
监控 MinIO 容器应用的资源, 应用 docker stats
命令.
docker stats <container_id>
Docker Compose 容许定义和运行单主机,多容器 Docker 应用程序。
应用 Compose,您能够应用 Compose 文件来配置 MinIO 服务。而后,应用单个命令,您能够通过你的配置创立并启动所有分布式 MinIO 实例。分布式 MinIO 实例将部署在同一主机上的多个容器中。这是建设基于分布式 MinIO 的开发,测试和预公布环境的好办法。
1. 前提条件
- 相熟 Docker Compose.
- Docker 曾经在本机装置,从这里下载相干的装置器。
2. 在 Docker Compose 上运行分布式 MinIO
在 Docker Compose 上部署分布式 MinIO, 请下载 docker-compose.yaml 到你的当前工作目录。Docker Compose 会 pull MinIO Docker Image, 所以你不须要手动去下载 MinIO binary。而后运行上面的命令
GNU/Linux and macOS
docker-compose pull
docker-compose up
Windows
docker-compose.exe pull
docker-compose.exe up
当初每个实例都能够拜访,端口从 9001 到 9004,请在浏览器中拜访 http://127.0.0.1:9001/
注意事项
- 默认状况下 Docker Compose file 应用的是最新版的 MinIO server 的 Docker 镜像,你能够批改 image tag 来拉取指定版本的 MinIO Docker image.
-
默认状况下会创立 4 个 minio 实例,你能够增加更多的 MinIO 服务(最多总共 16 个)到你的 MinIO Compose deployment。增加一个服务
- 复制服务定义并适当地更改新服务的名称。
- 更新每个服务中的命令局部。
- 更新要为新服务公开的端口号。另外,请确保调配给新服务的端口尚未应用。
- Docker compose file 中的 MinIO 服务应用的端口是 9001 到 9004,这容许多个服务在主机上运行。
springboot 实战电商我的项目 mall4j(https://gitee.com/gz-yami/mall4j)