Docker-compose学习笔记1

315 阅读2分钟

引言

  • 本文仅作为搭建InternGPT测试项目所用到的docker-compose的一个学习总结,由于个人也是第一次使用,所以本文仅供参考,酌情使用。
  • 本文只简单介绍Docker-compose的一些概念以及安装,方便理解。

Docker-compose

Docker Compose是一个用来定义和运行复杂应用的Docker工具。

  • 使用Compose就可以使用.yml文件来配置应用程序的服务,进而使用一个命令从该配置中创建并启动所有服务。

  • 有时候一个使用Docker容器的项目应用通常由多个容器组成,这样多个容器之间的通信就比较麻烦,但是使用Docker Compose就可以使用一个配置文件来管理和启动多个Docker容器啦。

  • Compose 通过一个配置文件来管理的,在配置文件中所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,以及应用中的服务以及所有依赖服务的容器,是非常适合多个容器组合进行开发的场景。

  • 注:这个配置文件和 Dockerfile文件还是不一样的,个人通俗理解就是,Dockerfile文件是创建容器的所有配置,而这个yaml文件更像是一个控制多个容器的“枢纽”

    • 其中Dockerfile没啥变化,依然是容器配置那一套;Docker-compose配置文件就是定义各个容器的具体参数了

  • 简单来说使用Compose基本上是一个三步过程:
    • 定义应用程序使用的环境,用Dockerfile方便在任何地方配置环境。
    • 定义构成应用程序的服务,docker-compose.yml方便它们可以在隔离环境中一起运行。
    • 运行docker compose upDocker compose的这个命令就可以启动并运行整个应用程序。

安装Docker-compose

  • 首先安装Docker-compose需要先安装 Docker,之间的适配关系如下

  • 安装方式如下(未测试,仅供参考)

  • 从GitHub上下载其二进制文件安装

    • 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
    • 也可以用daocloud下载
    • 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
  • 使用pip安装,简单粗暴

    • sudo pip install docker-compose
  • 验证安装是否成功

    • docker-compose --version