配置文件定义了一个Docker Compose服务,其中包含一个名为minio的服务。在这个服务中,使用了minio/minio镜像,容器主机名为minio,设置了容器的环境变量等参数。容器使用的网络是my,挂载了主机中的/root/work/minio/data目录到容器中的/data目录。容器暴露了5200和9090两个端口,并且设置了容器启动命令、容器部署方式、容器资源限制和预留等参数。最后,还定义了一个名为my的外部网络
# 定义一个Docker Compose服务
version: "3"
# 定义一个名为minio的服务
services:
minio:
# 使用minio/minio镜像
image: minio/minio
# 容器主机名为minio
hostname: minio
# 设置容器的环境变量
environment:
TZ: Asia/Shanghai
MINIO_ACCESS_KEY: adminMinio
MINIO_SECRET_KEY: adminMinio
MINIO_SERVER_URL: http://1.1.2.1:9090
# 容器使用的网络
networks:
- my
# 容器挂载卷
volumes:
- /root/work/minio/data:/data
# 容器暴露的端口
ports:
- "5200:5200"
- "9090:9090"
# 容器启动命令
command: ["server","/data","--console-address","0.0.0.0:9090","--address","0.0.0.0:5200"]
# 容器部署方式
deploy:
# 服务运行模式为复制模式
mode: replicated
# 服务副本数为1
replicas: 1
# 容器重启策略
restart_policy:
condition: on-failure
delay: 1s
max_attempts: 5
# 容器资源限制和预留
resources:
limits:
cpus: '0.50'
memory: 1000M
reservations:
cpus: '0.25'
memory: 400M
# 定义一个名为my的网络
networks:
my:
# 设置网络为外部网络
external: true
最后可以通过docker swarm的方式运行该内容,上面的文件名为minio.yml 则使用swarm运行该模板的命令为:
docker stack deploy demo -c minio.yml
其中demo为组名