1.Docker-Compose是什么?
Docker-Compose是实现对Docker容器集群的快速编排的工具软件。它是Docker官方开源的一个工具软件,可以管理多个Docker容器组成一个应用。你需要定义一个YAML格式的配置文件docker-compose.yml.写好多个容器间的调用关系,然后,只需要一个命令,就能同时启动/关闭这些容器。
2.为什么会有Docker-Compose?它做什么?
随着微服务的发展,我们的系统是由多个微服务构成的,比如一个商城系统,我们用会员服务、商品服务、订单服务、支付服务等,除此之外,我们如果把MySQL和redis也用容器来启动,那么我们至少要启动6个容器,并且各个容器还有启动顺序。那么这样的话,如果我们要运行多个服务,难道我们要每个服务单独写Dockerfile,然后构建镜像,运行容器,很累很繁琐。
所以,随着docker容器越来越多,怎么统一管理容器,比如一键启动、停止、启动顺序的编排、容器之间网络管理成为了一个很大的问题。所以推出了docker-compose多服务部署工具。
3. Docker-Compose是怎么做的?
Docker-Compose允许用户通过一个单独的docker-compose.yml模板文件来定义一组相互关联的应用容器为一个项目。可以很容易的用一个配置文件定义一个多容器应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose解决了容器与容器之间如何管理编排的问题。
3.1 Docker-Compose的核心概念
Docker-Compose的核心概念主要有两个:
- docker-compose.yml 配置文件
- 两个要素是服务(service)和工程(project),service是指一个个应用容器,比如订单微服务、会员微服务、mysql容器;project简单说就是一个完整的app应用,由一组关联的应用容器组成一个完整业务单元,在docker-compose.yml定义。
3.2 Docker-Compose的使用步骤
- 编写Dockerfile定义各个微服务应用并构建出对应的镜像文件;
- 使用docker-compose.yml文件,定义一个完整业务单元,编排好应用中的各个容器服务;
- 执行docker-compose up命令,来启动并运行整个应用程序,完成一键部署上线。
4. Docker-Compose怎么安装?
4.1 下载
下载最新的稳定版,这里采用这个下载,由于服务器上网络不好下载,我本地下载完成后上传的服务器
下载地址:
bash
https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-x86_64
4.2 上传到服务器
通过ftp上传到服务器下面这个目录下
bash
/usr/local/bin
然后重命名为docker-compose:
bash
mv docker-compose-linux-x86_64 docker-compose
4.3 设置权限
bash
chmod +x /usr/local/bin/docker-compose
4.4 验证
5. 我对Docker-Compose一些看法
Docker-Compose提供了一定能力的容器编排,并且基本是基于单机的,无法在大批量宿主机上进行服务的集群化部署。所以,在一些测试或者开发,甚至说比较小的一些单机项目上可以使用,也仅限于此。所以它的局限性很大,在大规模集群部署时,还是推荐使用k8s。但是在使用k8s之前,我们必须把容器给搞明白。