关于docker:62-Docker-Compose到底是什么

3次阅读

共计 965 个字符,预计需要花费 3 分钟才能阅读完成。

多容器的 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
正文完
 0