docker入门(6)

159 阅读2分钟

本文已参加 [新人创作礼] 活动,一起开启掘金创作之旅。

之前学习了docker的基本概念、常用命令,以及使用docker部署了rabbitmq 还学习了dockerfile的格式和常用指令,并使用dockerfile将自己的javaweb项目构建成镜像,并使用docker部署。 但是,在实际开发中,我们的项目会需要很多容器组成,比如简单的一个javaweb项目需要:mysql,java,redis等,启动和维护时会比较繁琐,本篇就学习下用docker compose 编排多个容器并部署。

概览

基本概念

 (1) 什么是docker compose,它能做什么
         Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。使用前
         面介绍的Dockerfile我们很容易定义一个单独的应用容器。然而在日常开发工作中,经常会碰
         到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务
         容器本身,往往还需要再加上后端的数据库服务容器;再比如在分布式应用一般包含若干个服
         务,每个服务一般都会部署多个实例。如果每个服务都要手动启停,那么效率之低、维护量之大
         可想而知。这时候就需要一个工具能够管理一组相关联的的应用容器,这就是DockerCompose。
         所以,Docker Compose是一个用来定义和运行复杂应用的Docker工具。
         
 (2) 名词解释
         1、项目(Project):由一组关联的应用容器组成的一个完整业务单元,在 
             docker-compose.yml 文件中定义。
         2、服务(Service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
         
   

安装dockercompose

本篇介绍两种安装方式
1.从github上下载docker-compose二进制文件安装
    下载最新版的docker-compose文件 
    sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-
    compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

   sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-
   compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    添加可执行权限
    sudo chmod +x /usr/local/bin/docker-compose
    测试安装结果
    $ docker-compose --version

    docker-compose version 1.16.1, build 1719ceb
2.pip安装
sudo pip install docker-compose