https://github.com/docker/compose

停止所有容器

docker-compose -p test_project_name stop

强制删除所有容器

docker-compose -p test_project_name rm -f

启动容器

docker-compose -p test_project_name up -d

停止并删除容器

docker-compose down [container-name]

删除容器

docker-compose rm -f [container-name]

  • 环境变量注入

    在 Docker Compose 中,docker-compose.yml 可以直接读取 .env 文件里的环境变量,用于服务配置、端口、镜像标签等。

    • 使用默认的.env
    # cat .env
    REDIS_IMAGE="cloud.test.com/devops-public/redis:6.0.9"
    TOOLS_IMAGE="cloud.test.com/edge/debug-network-tools:v0.0.1"
    

  • 使用指定的env文件
docker compose --env-file ./config/test.env up -d

  • compose.yml 示例
networks:
  ecu:

services:

#  middlewares-redis
  middlewares-redis:
    container_name: middlewares-redis
    hostname: middlewares-redis
    image: ${REDIS_IMAGE}
    restart: always
    ports:
      - "6379:6379"
    command:
      - redis-server
      - /etc/redis/redis.conf
    volumes:
      - /etc/localtime:/etc/localtime
      - ./middlewares/redis/data:/data
      - ./middlewares/redis/redis.conf:/etc/redis/redis.conf
      - ./middlewares/redis/acl.conf:/etc/redis/acl.conf
    networks:
      - ecu
#  middlewares-tools
  middlewares-tools:
    container_name: middlewares-tools
    hostname: middlewares-tools
    image: ${TOOLS_IMAGE}
    restart: always
    # ports:
    #   - 7000
    # deploy:
    #   resources:
    #     limits:
    #       cpus: '1'
    #       memory: 512M
    #     reservations:
    #       cpus: '0.1'
    #       memory: 128M
    # command:
    #  - "/bin/sh"
    #  - "-c"
    #  - "while true; do sleep 1d;done"
    volumes:
      - /etc/localtime:/etc/localtime
      - /data:/data
    networks:
      - ecu
    depends_on:
      - middlewares-redis