首页 Docker教程docker-容器编排管理工具docker compse基础

docker-分布式镜像仓库Harbor

docker-容器编排管理工具docker compse应用

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

单机编排之Docker Compose

Docker Compse介绍

docker-容器编排管理工具docker compse基础插图

当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容易出错,此时推荐使用docker 单机编排工具 docker-compose

docker-compose 是 docker 容器的一种单机编排服务,docker-compose 是一个管理多个容器的工具,比如:可以解决容器之间的依赖关系,就像启动一个nginx 前端服务的时候会调用后端的tomcat,那就得先启动tomcat,但是启动tomcat 容器还需要依赖数据库,那就还得先启动数据库,docker-compose 可以用来解决这样的嵌套依赖关系,并且可以替代docker命令对容器进行创建、启动和停止等手工的操作

因此,如果说docker命令就像linux的命令,docker compse就像shell脚本,可以自动的执行容器批量操作,从而实现自动化的容器管理,或者说docker命令相当于ansible命令,那么docker compose文件,就相当于ansible-playbook的yaml文件

docker-compose 项目是Docker 官方的开源项目,负责实现对Docker 容器集群的快速编排,docker-compose 将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)

github地址:https://github.com/docker/compose

官方地址:https://docs.docker.com/compose/

安装和准备

安装Docker Compose
方法1:通过pip安装

python-pip 包将安装一个 pip 的命令,pip 命令是一个pyhton 安装包的安装工具,其类似于ubuntu 的apt 或者 redhat 的yum,但是pip 只安装 python 相关的安装包,可以在多种操作系统安装和使用pip

此方式当前安装的版本较新,为docker_compose-1.25.3,推荐使用

Ubuntu: 
# apt  update 
# apt  install -y  python-pip 
Centos: 
# yum install epel-release 
# yum install -y python-pip # pip install --upgrade pip 

范例:

[root@ubuntu1804 ~]#apt -y install python-pip
[root@ubuntu1804 ~]#pip install docker-compose
[root@ubuntu1804 ~]#docker-compose --version
docker-compose version 1.25.3, build unknown
方法2:直接从github下载安装对应版本

参看说明:https://github.com/docker/compose/releases

此方法安装版本可方便指定,推荐方法,但网络下载较慢

[root@ubuntu1804 ~]#curl -L https://github.com/docker/compose/releases/download/1.25.3/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose
[root@ubuntu1804 ~]#chmod +x /usr/local/bin/docker-compose
方法3:直接从包仓库安装

此方法安装的版本较旧,不推荐使用

#ubuntu安装
[root@ubuntu1804 ~]#apt -y install docker-compose
[root@ubuntu1804 ~]#docker-compose --version
docker-compose version 1.17.1, build unknown

#CentOS7安装,依赖EPEL源
[root@centos7 ~]#yum -y install docker-compose
[root@centos7 ~]#docker-compose --version
docker-compose version 1.18.0, buil 8dd22a9 
查看命令格式

官方文档:https://docs.docker.com/compose/reference/

docker-compose --help
Define and run multi-container applications with Docker.
Usage:
  docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
  docker-compose -h|--help

#选项说明:
-f,–file FILE #指定Compose 模板文件,默认为docker-compose.yml。
-p,–project-name NAME #指定项目名称,默认将使用当前所在目录名称作为项目名。
--verbose   #显示更多输出信息
--log-level LEVEL    #定义日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL) 
--no-ansi #不显示ANSI 控制字符
-v, --version #显示版本

#以下为命令选项,需要在docker-compose.yml|yaml 文件所在在目录里执行 
build  #构建镜像 
bundle #从当前docker compose 文件生成一个以<当前目录>为名称的json格式的Docker Bundle 备份文件
config  -q #查看当前配置,没有错误不输出任何信息 
create #创建服务,较少使用 
down #停止和删除所有容器、网络、镜像和卷 
#events #从容器接收实时事件,可以指定json 日志格式,较少使用 
exec #进入指定容器进行操作 
help #显示帮助细信息 
images #显示镜像信息,较少使用
kill #强制终止运行中的容器 
logs #查看容器的日志 
pause #暂停服务 
port #查看端口 
ps #列出容器,较少使用
pull #重新拉取镜像,镜像发生变化后,需要重新拉取镜像,较少使用 
push #上传镜像 
restart #重启服务,较少使用 
rm #删除已经停止的服务 
run #一次性运行容器 
scale  #设置指定服务运行的容器个数 
start #启动服务 ,较少使用
stop #停止服务,较少使用 
top #显示容器运行状态 
unpause #取消暂定 
up #创建并启动容器 ,较少使用

范例:

[root@ubuntu1804 ~]#docker-compose --version
docker-compose version 1.25.3, build d4d1b42b
docker compse文件格式

官方文档:https://docs.docker.com/compose/compose-file/

docker compose文件是一个yaml格式的文件,所以注意行首的缩进很严格

默认docker-compose命令会调用当前目录下的docker-compose.yml的文件,因此一般执行docker-compose命令前先进入docker-compose.yml文件所在目录

docker compose文件的格式很不同版本,版本不同,语法和格式有所不同,参看以下列表

Compose file format Docker Engine release
3.7 18.06.0+
3.6 18.02.0+
3.5 17.12.0+
3.4 17.09.0+
3.3 17.06.0+
3.2 17.04.0+
3.1 1.13.1+
3.0 1.13.0+
2.4 17.12.0+
2.3 17.06.0+
2.2 1.13.0+
2.1 1.12.0+
2.0 1.10.0+
1.0 1.9.1.+

docker compose版本众多,以下通过具体示例说明docker compose的使用方法

本文链接:http://www.yunweipai.com/34971.html

docker-分布式镜像仓库Harbor

docker-容器编排管理工具docker compse应用

网友评论comments

发表评论

邮箱地址不会被公开。

暂无评论

Copyright © 2012-2021 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部