三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

使用Docker安装MinIO单机版并实现文件迁移

使用Docker安装MinIO单机版并实现文件迁移

目录

前言

一、安装MinIO单机版

1、创建数据存储目录及其配置文件目录:

2、创建完毕,进入目录:

3、安装:

4、操作命令:

5、重置密码(补充)

5.1、停止容器并移除旧容器

5.2、启动新容器并设置新密码

二、安装mc

1、下载mc:

2、设置权限及其导入目录

3、让用户在重启后也可以使用mc

3.1、编辑文件:

3.2、增加路径:

3.3、刷新文件即刻生效:

三、数据迁移


前言

MinIO 是一个高性能的分布式对象存储系统。 它是软件定义的,在行业标准硬件上运行,并且 100% 开源,主要许可证是 GNU AGPL v3。

MinIO 的不同之处在于它从一开始就被设计为私有/混合云对象存储的标准。 因为 MinIO 是专门为对象而构建的,所以单层架构可以毫不妥协地实现所有必要的功能。 结果是一个同时具有高性能、可扩展性和轻量级的云原生对象服务器。

虽然 MinIO 在二级存储、灾难恢复和归档等传统对象存储用例方面表现出色,但它在克服与机器学习、分析和云原生应用程序工作负载相关的挑战方面独树一帜。

一、安装MinIO单机版

1、创建数据存储目录及其配置文件目录:

mkdir -p /export/server/docker/minio/data

mkdir -p /export/server/docker/minio/config

2、创建完毕,进入目录:

cd /export/server/docker/minio/ && ll

效果如下:

3、安装:

docker run -p 9000:9000 -p 9090:9090 --net=host --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minioadmin" -e "MINIO_SECRET_KEY=minioadmin" -v /export/server/docker/minio/data:/data -v /export/server/docker/minio/config:/root/.minio minio/minio server /data --console-address ":9090" -address ":9000"

安装完毕,浏览器访问:http://ip:9090,使用设置的账号密码即可登录系统。

效果如下:

此时minio已经安装完毕!

4、操作命令:

停止命令:

docker stop minio

启动命令:

docker start minio

查看日志

docker logs minio

5、重置密码(补充)

平时我们安装完MinIO后,可能会涉及到修改密码操作,但是Docker容器不支持直接修改密码,不过不要着急,也照样能实现密码重置功能(移除旧容器再根据新账号新密码创建新容器即可):

5.1、停止容器并移除旧容器

# 查看当前运行的MinIO容器
docker ps | grep minio

# 停止容器(假设容器名为minio)
docker stop minio

# 删除旧容器(数据卷不会丢失,因已挂载到宿主机)
docker rm -f minio

5.2、启动新容器并设置新密码

通过环境变量 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 指定新凭据:

docker run -p 9000:9000 -p 9090:9090 \
--name minio \
-d \
--restart=always \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin" \
-v /export/server/docker/minio/data:/data \
-v /export/server/docker/minio/config:/root/.minio \
minio/minio server /data --console-address ":9090"

此时,容器修改密码完成!

二、安装mc

1、下载mc:

curl https://dl.min.io/client/mc/release/linux-amd64/mc \
--create-dirs \
-o $HOME/minio-binaries/mc

2、设置权限及其导入目录

chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/

3、让用户在重启后也可以使用mc

3.1、编辑文件:

vim ~/.bashrc

3.2、增加路径:

export PATH=$PATH:$HOME/minio-binaries/

3.3、刷新文件即刻生效:

source ~/.bashrc

三、数据迁移

这里我们将上述安装的minio作为目标地址,将我们已经存在的minio作为源地址进行迁移

若没有minio源地址,可以继续按一种操作继续安装一个minio作为源地址,因为需要看到效果,所以我们在源地址minio中手动创建几个bucket并在其下面上传数个文件,等待迁移效果。

1、设置minio源地址

mc alias set minio1 http://192.168.10.11:9000 minioadmin minioadmin

2、设置minio目标地址:

mc alias set minio2 http://192.168.10.12:9000 minioadmin minioadmin

3、查看已经添加的minio信息

mc config host ls

效果如下:

4、全量迁移,重名文件不覆盖,bucket不存在会自动创建

mc mirror minio1 minio2

若只是迁移某个bucket,以test为例,目标的bucket需要提前建好

mc mirror minio1/test minio2/test

若需要覆盖重名文件,加--overwrite

mc mirror --overwrite minio1/test minio2/test

执行过程如下:

等待操作完毕,我们打开目标地址minio,并登录后,发现所有的bucket及其文件都迁移回来了!!!

有了这门技术后,是不是发现自己可以打造一个云端文件存储系统了,而且还全免费,顶多就是购买一个服务器,就算云服务器到期了,在即将到期之前,我们把数据进行迁移就可以实现文件的永不丢失了!

好啦,今天的课程到此结束,下课!

← 返回列表