Docker Compose简介

1、docker compose概念  

文档  https://docs.docker.com/compose/compose-file/compose-versioning

  • 一个基于 docker 的工具
  • 可以通过一个 yml 文件定义多容器的 docker 应用
  • 通过一条命令就可以根据 yml 文件的定义去创建或者管理这多个容器

2、docker compose 版本 2 与 版本 3 的区别

 最大的区别

  • version 2 只能用于单机
  • version 3 可用于多机

3、docker-compose.yml文件

  

  • Services
  1. 一个 service 代表一个container , 这个container 可以从dockerhub 的 image来创建, 或者从本地的 Dockerfile build出来的image来创建。
  2. service 的启动类似与 docker run,我们可以给其指定 network 和 volume 。所以可以给 service 指定 network 和 volume 的引用

eg :  docker run -d --name db -v db-data:/var/liv/postgresql/data --network back-tier  postgres:9.4

services:
    db:             #service 的名称为 db
        image: postgres:9.4     #service image 为 postgres:9.4  这是从远程拉取的
    volumes:
        "db-data:/var/liv/postgresql/data" #将外部db-data挂载到container 的 /var/liv/postgresql/data 内
    networks:
        - back-tier             #网络为 back-tier

 

eg2: docker run -d --link db --link redis --network back-tier  worker

services:
    worker:
        build: ./worker
        links:
            - db
            - redis
        networks:
            - back-tier  #在同一个网络上 不需要links

  • Volumes:

上面 的

volumes:

    - "db-data:/var/liv/postgresql/data"  #将外部db-data挂载到container 的 /var/liv/postgresql/data 内

会有单独的一个 volumes (与 services 同级别) 对db-data 进行 阐述

类似于 docker volume create db-data

  • Nerworks:

上面 的

networks:

    - back-tier        #在同一个网络上 不需要links

会有单独的一个 networks (与 services 同级别) 对back-tier 进行 阐述

类似于  docker nerwork create -d bridge back-tier

4、编写 docker-compose.yml

version: '3'

services:

  wordpress:
    image: wordpress
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_PASSWORD: root
    networks:
      - my-bridge

  mysql:
    image: mysql
    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
发布了382 篇原创文章 · 获赞 306 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/lixinkuan328/article/details/103900095