多容器的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.22docker 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-bridgevolumes:  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 redisdocker build -t siguoya/flask-redis .docker run -d --name web --link redis -e REDIS_HOST=redis -p 5000:5000 siguoya/flask-redis