6.2 Docker Compose到底是什么

多容器的APP太恶心

  • 要拉取多个image
  • 要创建多个container
  • 要启动、停止、删除多个container

Docker Compose批处理

  • Docker Compose 是一个开发环境使用的工具,通过yml来定义配置
  • yml的version与Docker Engine的版本是对应的
  • yml内容由services、volumes、networks三部分组成

wordpress项目

docker run -d --name mysql -v mysqldata:/var/lib/mysql -e MYSQL_DATABASE=wp -e MYSQL_ROOT_PASSWORD=root mysql:5.7.22
docker run --name wordpress --link mysql -d -p 8080:80 wordpress

转换

version: '3'
services:
  wordpress:
    image: wordpress
    ports:
      - 8080:80
    depends_on:
      - mysql
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_PASSWORD: root
    networks:
      - my-bridge
  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wordpress
    volumes:
      - mysql-data:/var/lib/mysql
    networks:
      - my-bridge
volumes:
  mysql-data:
networks:
  my-bridge:
    driver: bridge

flask redis项目

version: "3"
services:
  redis:
    image: redis
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 5000:5000
    environment:
      REDIS_HOST: redis

转换

docker run -d --name redis redis
docker build -t siguoya/flask-redis .
docker run -d --name web --link redis -e REDIS_HOST=redis -p 5000:5000 siguoya/flask-redis

你可能感兴趣的:(6.2 Docker Compose到底是什么)