Docker-Compose概述

简介: Docker-Compose概述

基本介绍

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

docker-compose将所管理的容器分为三层, 分别是工程(project),服务(service)以及容器(containner)

  • DockerCompose运行目录下的所有文件(docker-compose.yml文件、extends文件或环境变量等)组成一个工程,如无特殊指定,工程名即为当前目录名。
  • 一个工程当中,可以包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。
  • 一个服务中可以包括多个容器实例,docker-compose并没有解决负载均衡的问题。因此需要借助其他工具实现服务发现及负载均衡,比如consul。

Compose 中有两个重要的概念:

  • 服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
  • 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义

DockerCompose的工程配置文件默认为docker-compose.yml。可以通过环境变量COMPOSE_FILE -f 参数自定义配置文件,其自定义多个有依赖关系的服务及每个人服务运行的容器。

DockerCompose的使用步骤

  • 创建对应的DockerFile文件
  • 创建yml文件,在yml文件中编排我们的服务
  • 通过docker-compose up命令 一键运行我们的容器

Docker-Compose下载

curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

要安装其他版本的 Compose,替换 v2.17.2。

Docker Compose和Docker版本对应关系:https://docs.docker.com/compose/compose-file/compose-file-v3/

  • Docker Compose下载地址:https://github.com/docker/compose/releases
  • 赋予执行权限:sudo chmod +x /usr/local/bin/docker-compose
  • 建立软连接:sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  • 查看docker版本:docker-compose --version

Docker-Compose常用命令

命令 作用
docker-compose -h 查看帮助
docker-compose up 动所有docker-compose服务
docker-compose up -d 启动所有docker-compose服务并后台运行
docker-compose down 停止并删除容器、网络、卷、镜像
docker-compose exec yml里面的服务id 进入容器实例内部 docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps 展示当前docker-compose编排过的运行的所有容器
docker-compose top 展示当前docker-compose编排过的容器进程
docker-compose logs yml里面的服务id 查看容器输出日志
docker-compose config 检查配置
docker-compose config -q 检查配置,有问题才有输出
docker-compose restart 重启服务
docker-compose start 启动服务
docker-compose stop 停止服务


相关文章
|
6月前
|
Linux Go API
Docker入门概述
Docker入门概述
|
6月前
|
应用服务中间件 开发工具 nginx
Docker概述 、 部署Docker 、 Docker镜像 、 Docker基本命令
Docker概述 、 部署Docker 、 Docker镜像 、 Docker基本命令
263 0
|
19天前
|
存储 监控 Linux
Docker技术架构概述
【10月更文挑战第22天】Docker采用CS架构,Client与Daemon交互,Compose管理多容器应用。
|
6月前
|
缓存 Linux 虚拟化
Docker 概述与安装
Docker 概述与安装
81 2
|
6月前
|
Linux 应用服务中间件 nginx
docker概述、安装、常用命令
docker概述、安装、常用命令
101 1
|
6月前
|
运维 虚拟化 开发者
Docker的概述
Docker的概述
52 0
|
Java Linux 虚拟化
Docker从入门到精通——Docker概述
Docker从入门到精通——Docker概述
97 0
|
存储 Ubuntu Linux
Docker(四)进阶:Docker镜像概述和分层原理
镜像是一个只读模板,带有创建Docker容器的说明。通常,一个镜像基于另一个镜像,并带有一些额外的定制。例如,您可以构建一个基于ubuntu镜像的镜像,但是要安装Apache web服务器和您的应用程序,以及运行应用程序所需的配置细节。
1224 0
Docker(四)进阶:Docker镜像概述和分层原理
|
安全 Ubuntu Linux
Docker概述及CentOS安装Docker
Docker概述及CentOS安装Docker
306 0
|
NoSQL 关系型数据库 MySQL