Docker Compose

Posted jiangzhaowei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Compose相关的知识,希望对你有一定的参考价值。

  • 要从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文件更方便些吧。



作者:IT人故事会
链接:https://www.jianshu.com/p/0623dd1f7ec6
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。








以上是关于Docker Compose的主要内容,如果未能解决你的问题,请参考以下文章

Docker Compose部署Nexus3时的docker-compose,yml代码

监听更改并在代码更改时重新加载容器 - docker-compose

docker-compose 退出代码的含义?

Docker Compose

Docker三剑客之Compose

Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)