Docker-Compose.yml配置讲解

2021-03-15  本文已影响0人  岑景

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

上一篇下一篇

猜你喜欢

热点阅读