『中级篇』Docker Compose到底是什么(38)
>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!>原文链接地址:『中级篇』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
[*]一个service代表一个container,这个container可以从dockerhub的image来创建,或者从本地的Dockerfile build出来的image来创建。
[*]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文件更方便些吧。
往期精彩
[*]docker导学(一)
[*]容器的技术概述(二)
[*]docker的魅力初体验-5分钟安装wordpress不走弯路(三)
[*]docker官网介绍(四)
[*]如何在mac上安装docker(五)
[*]如何在window上安装docker(六)
[*]如何在mac上通过vagrant安装虚拟机(七)
[*]如何在window上通过vagrant安装虚拟机(八)
[*]docker-Machine的本地使用(九)
[*]docker-Machine的本地使用(十)
[*]在linux/mac下通过Docker-Machine在阿里云上的使用(11)
[*]docker架构和底层技术(12)
[*]docker Image概述(13)
[*]手动建立一个base Image(14)
[*]什么是Container(15)
[*]构建自己的Docker镜像(16)
[*]Dockerfile详解(17)
[*]镜像的发布(18)
[*]Dockerfile实战(19)
[*]容器的操作(20)
[*]Dockerfile实战CMD和ENTRTYPOINT的配合(21)
[*]容器的资源限制(22)
[*]docker网络(23)
[*]docker学习必会网络基础(24)
[*]Linux网络命名空间(25)
[*]Docker Bridge详解(26)
[*]容器之间的Link(27)
[*]容器的端口映射(28)
[*]容器网络之host和none(29)
[*]多容器复杂应用的部署(30)
[*]overlay网络和etcd实现多机的容器通信(31)
[*]docker的数据持久化存储和数据共享(32)
[*]windows下vagrant 通过SecureCRT连接centos7(33)
[*]数据持久化之Data Volume(34)
[*]数据持久化之bind Mounting(35)
[*]docker 使用bind Mounting实战(36)
[*]docker容器安装wordpress(37)
页:
[1]