yum install docker-compose
安装docker-compose
Docker-Compose.yml标准配置文件应该包含 version、services、networks 三大部分,其中最关键的就是 services 和 networks 两个部分.
version: '2.0' # 版本号
services: #固定名称
redis-6374: #服务名称 可自定义如:elasticsearch,redis,mysql,abcd等
image: whayercloud.registry:5000/redis:5-alpine #从指定的镜像中启动容器,可以是存储仓库、标签
#以及镜像 ID 如果镜像不存在,Compose 会自动拉去镜像
container_name: sdqj-components-redis-6374 #确定app容器的命名
privileged: true #开启权限
network_mode: "host" #可以指定使用服务或者容器的网络 其他参数:bridge none等
restart: always
environment: #保存MY_HOST_IP变量到镜像里面,启动的容器也会包含这些变量设置
MY_HOST_IP: ${MY_HOST_IP} #后面要用到MY_HOST_IP参数
volumes:
# - /var/lib/mysql 只是指定一个路径,Docker 会自动在创建一个数据卷(这个路径是容器内部的)。
# - ./cache:/tmp/cache 以 Compose 配置文件为中心的相对路径作为数据卷挂载到容器
# - /opt/data:/var/lib/mysql 使用绝对路径挂载数据卷
- ${SDQJ_COMPONENTS_DIR}/redis-cluster/6375/conf/redis.conf:/usr/local/etc/redis/redis.conf#容器外文件映射到容器内,修容器件外路径的redis.conf完成容器内的修改
command: > #可以覆盖容器启动后默认执行的命令
sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
&& redis-server /usr/local/etc/redis/redis.conf --cluster-announce-ip ${MY_HOST_IP} --appendonly yes" #用了变量和创建的地址~
ports:
- "8080" #映射端口 端口小于60你可能会得到错误得结果
#- "8080:8080" 其他格式
#- "3000-3005" 随机端口
deploy: #配置资源限制 除下面两个 还有其他
resources:
limits:#限制不超过 50M 的内存和 0.50(50%)可用处理时间(CPU)
cpus: '0.50'
memory: 50M
reservations: #留 20M 了内存和 0.25 CPU时间
cpus: '0.25'
memory: 20M
networks: #加入指定网络
- front-tier
- back-tier
networks:
front-tier:
driver: bridge
back-tier:
driver: bridge
image.png
报以上错误启动 service docker restart
启动docker-compose.yml命令:docker-compose -f docker-compose.yml up -d
docker-compose config -q 当配置正确时,不输出任何内容,当文件配置错误,输出错误信息
查看启动的容器docker-compose ps
网友评论