一、简介

Compose 项目 是 Docker 官方的开源项目 , 负 责实 现对 Docker 容器 集群的快速编排,其前身 是开源项目 Fig, 目前仍然兼容 Fig格式的模板文件。

使用 一个 Dockerfile模板文件, 可以让用 户 很方便的定义一个单独 的应用容器 。 然而,在日常工作中 , 经常会碰到需要多个容器 相互配合来完成某项任务的情况。 例如要实现一个 Web 项目,除了 Web 服务容器 本身 , 往往还需要再加上后 端的数据库服务容器 , 甚至还包括负 载均衡容器 等。

优势:

Compose 恰好满足了 这样的需求。 它允许用户通过一个单独 的 docker-compose. yml 模板文件( YAML 格式) 来定义一组相 关联的应 用 容器 为 一个项目( project),在Docker基础上解决了多容器应用之间的依赖启动问题

Docker Compose 用于定义运行使用多个容器的应用,可以一条命令启动应用(多个容器)。

劣势:

Compose 只能够在本地或者 Docker Swarm 集群中运行

需要在 Swarm 之外运行怎么办?比如 Kubernetes?Compose 格式并非为分布式而诞生的,所以我们只能为选择的容器编排工具重新编写应用描述文件。

现在,在 Kubernetes Incubator 可以找到 Kompose。有了 Kompose,我们能够简单实现从 Docker Swarm 到 Kubernetes 的转换过程,这样就为 Docker 用户敞开了 Kubernetes 的大门。

使用Docker Compose 的步骤:

  1. 定义容器 Dockerfile
  2. 定义应用的各个服务 docker-compose.yml
  3. 启动应用 docker-compose up 

二、安装

文章出处:
  http://www.widuu.com/docker/compose/install.html
docker compose 安装
三种安装方式:

1.Python 的 pip 工具进行安装

2.直接下载编译好的二进制 文件使用

3.运行在 Docker 容器 中

第一种pip安装
    yum -y install python-pip
    pip install -U docker-compose
  pip卸载; pip uninstall docker- compose
提示:pip是python的命令,需要下载文件
      wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
     执行安装
      python get-pip.py  这样pip命令就可以用了

审计'pip install --upgrade pip

使用 docker-compose --version 来进行测试

第二种2进制安装
  
curl -L https://github.com/docker/compose/releases/download/1.11.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
   
  二进制卸载 rm /usr/local/bin/docker- compose

第三种容器中安装
   curl - L https://github.com/docker/compose/releases/download/1.8.0/run.sh >/usr/local/bin/docker-compose
   chmod +x /usr/local/bin/docker-compose

升级

如果你使用的是 Compose 1.2或者早期版本,当你升级完成后,你需要删除或者迁移你现有的容器。这是因为,1.3版本, Composer 使用 Docker 标签来对容器进行检测,所以它们需要重新创建索引标记。

如果 Composer 检测到创建的容器没有标签,它将拒绝运行,这样你就不会有两组容器。如果你想要保留已经存在的容器(举例:这里有容器的数据卷上保留这非常重要的数据),你可以使用下边的命令来

迁移:

docker-compose migrate-to-labels
或者,如果这些容器是不必要的,你可以删除它们 - Composer 会重新创建一个新的

Docker-compose的安装和使用的更多相关文章

  1. Docker Compose 介绍安装

    Compose介绍 Compose是一个定义和管理多容器的工具,也是一种容器编排工具,前身是Pig,使用Python语言编写.使用Compose配置文件描述多个容器应用的架构,biubiu使用什么镜像 ...

  2. 26. docker compose 的安装 和 基本使用

    1. 安装 docker compose https://docs.docker.com/compose/install/  选择linux 即可 sudo curl -L "https:/ ...

  3. 手把手教你 Docker Compose的安装和使用

    一.Docker Compose是什么? Docker Compose是一个工具,用于定义和运行多容器应用程序的工具: Docker Compose通过yml文件定义多容器的docker应用: Doc ...

  4. Docker Compose的安装及命令补全

    安装Compose Compose的安装有多种方式,例如通过shell安装.通过pip安装.以及将compose作为容器安装等等.本文讲解通过shell安装的方式.其他安装方式如有兴趣,可以查看Doc ...

  5. centos7 Docker Compose 的安装

    [root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose ...

  6. centos docker compose安装

    docker compose离线安装 通过联网机器下载docker-compose离线安装包(参见Downloads部分) https://github.com/docker/compose/rele ...

  7. 【Docker Compose】简介与安装

    1.简介 Compose 是一个用户定义和运行多个容器的 Docker 应用程序.在 Compose 中你可以使用 YAML 文件来配置你的应用服务.然后,只需要一个简单的命令,就可以创建并启动你配置 ...

  8. Docker Compose + Traefik v2 快速安装, 自动申请SSL证书 http转https 初次尝试

    前言 昨晚闲得无聊睡不着觉,拿起服务器尝试部署了一下Docker + Traefik v2.1.6 ,以下是一些配置的总结,初次接触,大佬勿喷. 我的系统环境是 Ubuntu 18.04.3 LTS ...

  9. 手把手教你 Docker Compose安装DOClever

    一.什么是Docker Compose以及Docker Compose的安装和使用 查看我的另外一篇博客:Docker Compose的安装和使用 二.DOClever是什么 DOClever是一个可 ...

  10. Docker Compose 简介

    Compose 是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用.使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建 ...

随机推荐

  1. burpsuite暴力破解dvwa的登录密码

    前提准备条件: 1.下载安装dvwa,下载链接地址:http://www.dvwa.co.uk/. 2.安装php+mysql环境,我用的是这个软件(phpStudy)下载地址:https://www ...

  2. Sharing is only supported for boot loader classes because bootstrap classpath has been appended

    在idea里面运行项目,terminal里面报“Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boo ...

  3. Apache Maven setting.xml

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  4. 从头至尾一点点实现自己的ViewPager效果

    对于ViewPager,应该没有人在项目中没使用过它,效果非常的赞,使用也非常简单,但是如果自己来实现这样的效果,我想并非三下五除二的事了,这里涉及到怎么自定义ViewGroup了,它相比自定义Vie ...

  5. 获取当前日期或者某个日期相隔N天内的全部日期以及星期几

    业务需要需要获取当前日期相隔30天内的全部日期以及星期几,没插件因此特地写了一个: /* 说明:获取当前日期或者某个日期相隔N天内的全部日期以及星期几 使用: let test = new getdi ...

  6. 2018/7/31-zznuoj-问题 A: A + B 普拉斯【二维字符串+暴力模拟+考虑瑕疵的题意-0的特例】

    问题 A: A + B 普拉斯 在计算机中,数字是通过像01像素矩阵来显示的,最终的显示效果如下:  现在我们用01来构成这些数字 当宝儿姐输入A + B 时(log10(A)<50,log10 ...

  7. JQuery 遍历 操作数组 map、grep、filter 的区别

    filter() 方法将匹配元素集合缩减为匹配指定选择器的元素.例如:改变所有 div 的颜色,然后向类名为 "middle" 的类添加边框:$("div"). ...

  8. 如何DIY个性PE

    前言:有时候在网络上能找到很不错的PE(无忧启动论坛),但是有时候PE的功能仍不能满足自己的需要(软件过旧,缺少某些功能),这时候就显得自己DIYPE的重要性 需要的工具: WIMTOOL(必备) 软 ...

  9. this关键词详解

    当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this. 因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this ...

  10. JavaEE企业面试问题之JavaWeb

    2.Javaweb阶段 2.1 Ajax你以前用过么?简单介绍一下 AJAX = 异步 JavaScript 和 XML.    AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少 ...