美文网首页
Docker学习之:Compose

Docker学习之:Compose

作者: __apple | 来源:发表于2018-05-26 10:57 被阅读0次

通过前几节的学习,我们发现当我们在部署多个container的时候会非常的繁琐,要通过维护多个Docker Image 然后还要生成对应的container,而且每个container的配置还不一样,我们还要管理这些container(启动停止删除)作为开发者我们发现这个实在是太痛苦了,那么有没有更方便的方式管理我们的container呢?Docker Compose就出现了,对它的描述可以用下面几点。

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

下面我们就来重点学习一下,什么是yml文件,怎么去写它。。。。
首先呢,它有一个默认的名字 docker-compose.yml,内容包括三点

  • Services
    一个service代表一个container,这个container可以从dockerhub的image来创建,或者从本地的Dockerfile build出来的image来创建
    Service的启动类似docker run, 我们可以给其指定network和volume, 所以可以给service指定network和Volume的引用,比如说下面这种就是从docker hub 拉去的镜像
services:
    db:
       image: postgres:9.4
       volume:
          _ "db-data:/var/lib/postgresql/data"
        networks:
          _ back-tier

下面这个就是用本地的镜像

services:
  worker:
   build: ./worker
    link: 
      - db
      - redis
  neteork:
      - back-tier 

接下来给大家看一个比较完成的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:   # 这个相当于我们操作的-e
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wordpress
    volumes:
      - mysql-data:/var/lib/mysql
    networks:
      - my-bridge

volumes:
  mysql-data:

networks:
  my-bridge: bridge
  • Networks
  • Volumes
    ok, 我们这一节主要带大家看一看yml文件是什么长什么样子具体的安装使用,我们会在下一节进行处理。

相关文章

网友评论

      本文标题:Docker学习之:Compose

      本文链接:https://www.haomeiwen.com/subject/psrdjftx.html