系统环境
系统:CentOS7
Docker:v24.0.7
DockerCompose:v2.23.1
Docker Minio镜像minio/minio:RELEASE.2022-04-16T04-26-02Z
,版本再高一些的上传文件后服务器保存的不是xxx.png格式的图片,而是一个以图片名命名的目录,里面是一些看不懂的文件。不知道新版本怎么改能正常显示图片。
准备工作
如果Https部署,需要一个域名,我这里瞎写的 bb.com
Docker 部署
普通部署
/root/minio/data:/data
挂载Minio文件上传目录。因为server /data
启动时指定了Minio文件存储目录为/data
所以挂载容器里的/data
MINIO_ROOT_USER
配置Minio后台登陆账号,默认minioadmin
MINIO_ROOT_PASSWORD
配置Minio后台登陆密码,默认minioadmin
--address
配置Minio API域名,格式为域名+端口
或IP+端口
。如果写成":9000"
IP部分会自动用当前服务器的IP,当调用Minio获取文件url接口时返回http://服务器公网IP:9000/img/xxx.png
。如果写成bb.com:9000
,最后接口返回的文件url为http://bb.com:9000/img/xxx.png
。
--console-address
配置管理后台的访问域名,如果写成":9090"
,则Minio管理后台地址为http://服务器公网IP:9090
。用法和--address
一样。
docker run -d \
--name minio \
--restart=always \
-p 9000:9000 \
-p 9090:9090 \
-v /root/minio/data:/data \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=minioadmin" \
minio/minio:RELEASE.2022-04-16T04-26-02Z server /data --address ":9000" --console-address ":9090"
Https部署
/root/minio/certs:/root/.minio/certs
挂载Minio证书存储目录。/root/.minio/certs
是Minio默认存放证书的目录,我这里挂载到宿主机/root/minio/certs
目录,证书文件放到该目录下就行(注意:需要下载Apache
服务的证书,因为官方规定了证书文件名字,所以两个证书文件需要重命名为public.crt
和private.key
否则Minio不认识)
MINIO_SERVER_URL
指定API完整域名,格式为 http://IP
或http://IP:端口
或https://IP
或https://IP:端口
或http://域名
或https://域名:端口
或https://域名
。
MINIO_BROWSER_REDIRECT_URL
指定管理后台的完整域名,格式和MINIO_SERVER_URL
一样。
--address
和--console-address
的端口部分必须和MINIO_SERVER_URL
和MINIO_BROWSER_REDIRECT_URL
的端口部分保持一致。
docker run -d \
--name minio \
--restart=always \
-p 443:443 \
-p 9090:9090 \
-v /root/minio/data:/data \
-v /root/minio/certs:/root/.minio/certs \
-e "MINIO_ROOT_USER=后台登陆账号" \
-e "MINIO_ROOT_PASSWORD=后台登陆密码最少8位" \
-e "MINIO_SERVER_URL=https://bb.com:443" \
-e "MINIO_BROWSER_REDIRECT_URL=https://bb.com:9090" \
minio/minio:RELEASE.2022-04-16T04-26-02Z server /data --address ":443" --console-address ":9090"
DockerCompose 部署(运行命令:docker compose up -d要在docker-compose.yml同级目录下执行)
普通部署
# docker-compose.yml
version: '3'
services:
minio:
image: minio/minio:RELEASE.2022-04-16T04-26-02Z
container_name: minio1
restart: always
command: server /root/data --address ":9000" --console-address ":9090"
ports:
- "9000:9000"
- "9090:9090"
volumes:
- /root/minio/data:/data
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
Https部署
# docker-compose.yml
version: '3'
services:
minio:
image: minio/minio:RELEASE.2022-04-16T04-26-02Z
container_name: minio1
restart: always
command: server /root/data --address ":443" --console-address ":9090"
ports:
- "443:443"
- "9090:9090"
volumes:
- /root/minio/data:/data
- /root/minio/certs:/root/.minio/certs
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
- MINIO_SERVER_URL=https://bb.com:443
- MINIO_BROWSER_REDIRECT_URL=https://bb.com:9090
登陆管理后台
管理后台地址https://bb.com:9090
。输入MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
配置的账号密码。
文章来源:https://www.toymoban.com/news/detail-756929.html
去除访问过期时间,且去除查询参数也能访问方法
修改访问策略为public,然后手动去除url查询参数在浏览器就能直接访问了。文章来源地址https://www.toymoban.com/news/detail-756929.html
到了这里,关于docker、docker-compose、Https部署Minio,去除Minio文件过期时间教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!