对象存储服务OSS
什么是 OSS?
如何自己搭建一个 OSS 服务?
MinIO
使用 Docker 部署 OSS 服务
-
先确定需要使用的 docker 镜像:bitnami/minio
-
编写
docker-compose.yaml
文件version: "2.4" services: minio: restart: always image: "bitnami/minio:latest" ports: - "9000:9000" - "9001:9001" environment: - TZ=Asia/Shanghai - MINIO_ROOT_USER=liyu - MINIO_ROOT_PASSWORD=liyu@911.com - MINIO_PUBLIC_ADDRESS=http://47.115.219.196:9001/ container_name: liyu_minio volumes: - minio_data:/bitnami/minio/data volumes: minio_data: driver: local
-
启动容器:
docker-compose -f docker-compose.yaml up --build -d --remove-orphans
管理界面操作
使用 sdk 操作
const Minio = require('minio');
const fs = require('fs');
const minioClient = new Minio.Client({
endPoint: '47.115.219.196',
port: 9000,
useSSL: false,
accessKey: 'zgJ83Buz1v9Q7s060fTS',
secretKey: 'duysuG1vlfco6ozl8BtMkdY9Q3zm6fxDB02pRijT',
});
function put() {
minioClient.fPutObject(
'liyu-test',
'Union-put.svg',
'./Union-get.svg',
function (err, etag) {
if (err) return console.log(err);
console.log('上传成功');
}
);
}
function get() {
minioClient.getObject('liyu-test', 'Union.svg', (err, stream) => {
if (err) return console.log(err);
stream.pipe(fs.createWriteStream('./Union-get.svg'));
});
}
function main() {
// get();
put();
}
main();