minio作为静态服务器测试
1、docker部署minio
点击查看代码
mkdir -p /opt/minio
mkdir -p /opt/minio
mkdir -p /opt/minio/data
vim /opt/minio/config.env
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin
MINIO_VOLUMES="/mnt/data"
这里不用修改,这个是容器里面的路径
拉取镜像
docker pull minio/minio
启动容器
docker run -dt \
-p 9000:9000 -p 9090:9090 \
-v /opt/minio/data:/mnt/data \
-v /opt/minio/config.env:/etc/config.env \
-e "MINIO_CONFIG_ENV_FILE=/etc/config.env" \
--name "minio_local" \
minio/minio server --console-address ":9090"
9090为应用web客户端,9000为应用
2、python操作minio
点击查看代码
pip install minio
from minio import Minio
minioClient = Minio('192.168.66.160:9000',access_key='admin',secret_key='admin',secure=False)
bucket_name = "bak1"
设定公共访问策略只读
policy = '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["*"]},"Action":["s3:GetBucketLocation","s3:ListBucket"],"Resource":["arn:aws:s3:::%s"]},{"Effect":"Allow","Principal":{"AWS":["*"]},"Action":["s3:GetObject"],"Resource":["arn:aws:s3:::%s/*"]}]}' % (bucket_name, bucket_name)
minioClient.set_bucket_policy(bucket_name=bucket_name, policy=policy)
info = minioClient.fput_object("bak1", "12.png", r"C:\Users\Administrator\Pictures/12.png")
print(info)
print(info.object_name)
3、页面测试
点击查看代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<img src="http://192.168.66.160:9000/bak1/12.png" alt="图片" />
</body>
</html>
