行业知识
docker、docker-compose、Https部署Minio,去除Minio文件过期时间教程
docker及docker-compose部署Minio并配置Https教程
- 系统环境
- 准备工作
- Docker 部署
- 普通部署
- Https部署
- DockerCompose 部署(运行命令:`docker compose up -d`要在docker-compose.yml同级目录下执行)
- 普通部署
- Https部署
- 登陆管理后台
- 去除访问��期时间,且去除查询参数也能访问方法
系统环境
系统: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.ymlversion: '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.ymlversion: '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配置的账号密码。
去除访问过期时间,且去除查询参数也能访问方法
修改访问策略为public,然后手动去除url查询参数在浏览器就能直接访问了。
上一篇:怎么查询备案了的合同信息
下一篇:服务器怎么发布游戏?