为了账号安全,请及时绑定邮箱和手机立即绑定

『中级篇』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文件更方便些吧。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
1.7万
获赞与收藏
1318

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消