『中级篇』Docker Compose到底是什么(38)

多容器的APP太恶心了

美团,阿里,京东一个项目很多个容器,如果扩展那不是运维人员基本没办法干了,几千个几万个。

  • 要从Dockerfile build image 或者去dockerhub拉取image
  • 要创建多个container
  • 要管理这些container(启动停止删除)
DOcker Compose "批处理"

通过文本的方式,把要处理的容器按照顺序执行,如果是多容器也就是通过一条命令就搞定了

Docker Compose 了解它

https://docs.docker.com/compose/overview/ ,version版本统一用3,其实3是兼容2的,version版本1 就不要考虑了已经废弃了,一定要往前看。3和2的最大区别是3比2强大,好像是废话,3支持多机和单机,2仅支持单机。

  • Docker Compose 是一个工具,命令行工具。
  • 这个工具可以通过yml文件定义多容器的docker应用
  • 通过一条命令就可以根据yml文件的定义去创建或者管理这多个容器
docker-compose.yml 介绍
  • services
  1. 一个service代表一个container,这个container可以从dockerhub的image来创建,或者从本地的Dockerfile build出来的image来创建。
  2. service的启动类似docker run,我们可以给其指定network和volme,所以可以给service指定network和volume的引用
  • networks
  • volumes
docker-compose 上例子

源码地址:https://github.com/limingios/docker中的No.4

  • 访问路径
  • docker-compose 源码实例
#docker-Compse的版本
version: '3'

#建立2个service 一个wordpress 一个 mysql
services:

  wordpress:
    image: wordpress
#端口映射80 映射到8080端口
    ports:
      - 8080:80
#环境变量2个
    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 
volumes:
  mysql-data:
#建立一个networks
networks:
  my-bridge:
    driver: bridge

PS:上节通过image 和container的方式创建wordpress,一般麻烦吧还不算特别麻烦,但是相比今天的docker-compose.yml来说,还是docker-compose.yml文件更方便些吧。


原文发布于微信公众号 - 编程坑太多(idig88)

原文发表时间:2018-07-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏写代码的海盗

Nodejs课堂笔记-第三课 构建一个nodejs的Docker镜像

  因为一直做Linux有关的开发工作,所以不习惯在Windows平台编译和测试代码。在没有Docker之前,windows基本就是一个IDE平台。在wind...

3256
来自专栏宝哥的专栏

Docker系列学习文章 - docker基本使用(四)

| 导语通过上一篇文章的学习,我们把docker安装好了,那么安装好docker后该怎么使用呢?本篇文章通过一两个例子跟大家讲述下docker的基本使用。然后,...

1.4K21
来自专栏搜云库

Ubuntu 17.04 x64 安装 Docker CE

Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署、测...

34210
来自专栏漫漫全栈路

Docker循序渐进

上一篇的演示中使用的都是默认登录了Root权限后的操作,而实际的开发运维情况下,我们一般极少使用Root权限,所以Docker提供了一个权限组,我们只需要把当前...

3149
来自专栏应用案例

docker搭建私有仓库

序言 黄金指,一不小心就弄出一个故障。。。好可怕好可怕,我的小心脏。。。我的小心眼。。。 我这么信任你,你居然欺骗我。。。。****,这么大的坑,填不满啊。。。...

4437
来自专栏JMCui

Docker 系列五(Docker Compose 项目).

    Docker Compose 是官方编排项目之一,负责快速的部署分布式应用。它允许用户通过一个单独的 docker-compose.yml 模板文件(Y...

902
来自专栏星流全栈

DaoCloud的Docker Mirror服务更新啦!

1633
来自专栏吴伟祥

Linux中ctrl-c, ctrl-z, ctrl-d 区别

1、Ctrl+C比较暴力,就是发送Terminal到当前的程序,比如你正在运行一个查找功能,文件正在查找中,Ctrl+C就会强制结束当前的这个进程。

681
来自专栏实战docker

Docker下dubbo开发,三部曲之二:本地环境搭建

在上一篇文章《Docker下dubbo开发,三部曲之一:极速体验》中,我们快速体验了dubbo服务的注册、发现、调用,今天我们一起在本地制作一套这样的环境,经过...

3237
来自专栏点滴积累

Docker网络——单host网络

前言 前面总结了Docker基础以及Docker存储相关知识,今天来总结一下Docker单主机网络的相关知识。毋庸置疑,网络绝对是任何系统的核心,他在Docke...

3675

扫码关注云+社区