Docker安装Minio
1.在docker-hup里查找Minio镜像
2.在docker里安装Minio
// 安装最新版本docker pull minio// 安装指定版本docker pull minio/minio:RELEASE.2024-12-13T22-19-12Z// 查看安装的镜像docker images3.创建Minio容器
(1)手动创建挂在文件
// 创建挂载文件// 用来存放配置mkdir-p/root/minio/config// 用来存储上传文件的目录mkdir-p/root/minio/data// 确保有写入权限提高权限chmod-R777/root/minio// 使用 ls -ld 查看目录权限ls-ld/root/minio/config/root/minio/data// 预期输出// drwxr-xr-x:表示权限为 755(所有者:读/写/执行;组和其他用户:读/执行)。drwxr-xr-x.2root root66月3014:04/root/minio/config drwxr-xr-x.2root root66月3014:04/root/minio/data(2)创建自定义网络
Docker自定义网络的核心优势:
- 容器间通信:自定义网络允许容器通过服务名直接通信,无需硬编码IP地址。
- 网络隔离:提高安全性,防止未授权访问。
- 灵活的网络策略:可以设置网络别名、防火墙规则等。
- 避免端口冲突:多个服务可以使用相同的端口号,通过不同网络隔离。
// 创建自定义网络docker network create fusion_network// 查看自定义网络docker network ls//查找使用该网络的容器docker network inspect mysql_network|grep Containers// 停止网络docker stop fusion_network// 删除网络docker rm fusion_network(3) 创建容器
docker run-d \--name minio \--network network \-p9000:9000\-p9001:9001\-eMINIO_ROOT_USER=admin \-eMINIO_ROOT_PASSWORD=123456\-v/root/minio/data:/data \-v/root/minio/config:/root/.minio \--restart always \ minio/minio:RELEASE.2024-12-13T22-19-12Z \ server/data \--console-address":9001"4.docker-compose.yml配置
services:mysql:image:mysql:8.0.42container_name:fusion_mysqlnetworks:-fusion_networkports:-"3303:3306"volumes:-/root/mysql/log:/var/log/mysql-/root/mysql/data:/var/lib/mysql-/root/mysql/conf:/etc/mysql/conf.denvironment:MYSQL_ROOT_PASSWORD:123456restart:unless-stoppedredis:image:redis:8.0.2container_name:fusion_redisports:-"6379:6379"networks:-fusion_networkvolumes:-/root/redis/conf:/usr/local/etc/redisenvironment:TZ:Asia/Shanghaicommand:["redis-server","/usr/local/etc/redis/redis.conf"]restart:unless-stoppedmongo:image:mongo:8.0.10container_name:fusion_mongoports:-"27017:27017"networks:-fusion_networkvolumes:-/root/mongo:/etc/mongo-/root/mongo/data/db:/data/dbenvironment:MONGO_INITDB_ROOT_USERNAME:rootMONGO_INITDB_ROOT_PASSWORD:123456TZ:Asia/Shanghaicommand:["mongod","--config","/etc/mongo/mongod.conf"]restart:unless-stoppedrabbitmq:image:rabbitmq:4.0.9container_name:fusion_reabbitmqports:-"4369:4369"-"5671:5671"-"5672:5672"networks:-fusion_networkenvironment:RABBITMQ_DEFAULT_USER:rootRABBITMQ_DEFAULT_PASS:123456TZ:Asia/Shanghairestart:unless-stoppedminio:image:minio/minio:latestcontainer_name:fusion_minioports:-"9000:9000"-"9001:9001"networks:-fusion_networkenvironment:MINIO_ACCESS_KEY:rootMINIO_SECRET_KEY:123456TZ:Asia/Shanghaivolumes:-/home/minio/data:/data-/home/minio/config:/root/.miniocommand:["server","/data","--console-address",":9001","--address",":9000"]restart:alwayselasticsearch:image:elasticsearch:8.0.1container_name:fusion_elasticsearchnetworks:-fusion_networkports:-"9200:9200"-"9300:9300"privileged:truevolumes:-/root/elasticsearch/data:/usr/share/elasticsearch/data-/root/elasticsearch/plugins:/usr/share/elasticsearch/plugins-/root/elasticsearch/config:/usr/share/elasticsearch/configenvironment:discovery.type:single-nodeES_JAVA_OPTS:"-Xms512m -Xmx512m"restart:alwayskibana:image:kibana:8.0.1container_name:fusion_kibananetworks:-fusion_networkports:-"5601:5601"privileged:truevolumes:-/root/kibana/data:/usr/share/kibana/data-/root/kibana/config:/usr/share/kibana/configenvironment:ELASTICSEARCH_HOSTS:http://elasticsearch:9200restart:always