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