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

轉換mysql

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

轉換web

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
相關文章
相關標籤/搜索