zoukankan      html  css  js  c++  java
  • Docker-compose的安装和使用

    一、简介

    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 会重新创建一个新的

  • 相关阅读:
    ios开源项目2
    Cocoa 框架 For iOS(一) 框架的介绍
    iPhone开源项目大全
    8款iOS的日历开源代码
    二维码扫描工具和开发包 ZBar
    图文解释XCode常用快捷键的使用
    常用的iOS高效开源类库
    static_cast
    [转]SecureCRT rz 上传文件失败问题
    Linux中的EAGAIN含义
  • 原文地址:https://www.cnblogs.com/geekmao/p/8321846.html
Copyright © 2011-2022 走看看