本系列主要分为以下六大部分,正在更新中,尽请期待!
点击关注本专栏
提示:已经更新的或正在更新的文章前面打勾了哈!
在本专栏之前的文章中,我们已经学习了Docker的一系列知识,其中Docker 建议我们每一个容器中只运行一个服务,因为 Docker 容器本身占用资源极少,所以最好是将每个服务单独的分割开来,但是我们在实战部署的时候往往需要同时部署好多个服务,难道要每个服务单独写 Dockerfile
,然后再去构建镜像、构建容器吗?
这样做太累了,所以 Docker 官方给我们提供了 docker-compose 多服务部署的工具。
Docker Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。
你需要定义一个 YAML 格式的配置文件 docker-compose.yml
,写好多个容器之间的调用关系。之后,只要一个命令,就能同时启动/关闭这些容器。
Docker Compose 可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。
Docker-Compose 解决了容器与容器之间如何管理编排的问题。
Docker Compose 的核心主要是一个文件和两个要素分别是:
docker-compose.yml
文件(service)
:一个个应用容器实例,比如订单微服务、库存微服务、mysql 容器、nginx 容器或者 redis 容器。(project)
:由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。Docker Compose 的使用步骤:
Dockerfile
定义各个微服务应用并构建出对应的镜像文件。docker-compose.yml
定义一个完整业务单元,安排好整体应用中的各个容器服务。docker-compose up
命令来启动并运行整个应用程序,完成一键部署上线。Dockerfile
得到images
,启动的时候是一个单独的container
。docker-compose.yml
,通常启动的时候是一个服务,这个服务通常由多个container
共同组成,并且端口,配置等由docker-compose定义好。由于docker-compose是建立在docker的基础上的,因此docker-compose的生命周期与docker相似。
生命周期:
docker-compose.yml
;build
建立服务镜像;start
启动服务;pause/unpause
暂停/恢复服务;restart
重启服务;stop
停止服务;rm
停止容器服务并强制删除;在我们安装Compose之前,需要先安装Docker。
# 国外地址安装
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 国内地址安装(推荐)
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod 777 /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose -version
rm /usr/local/bin/docker-compose
docker-compose -h
docker-compose up
docker-compose up -d
docker-compose down
# 服务id 在 docker-compose.yml 中定义的
docker exec -it 服务id /bin/bash
展示当前 docker-compose 编排过的运行的所有容器
docker-compose ps
展示当前 docker-compose 编排过的容器进程
docker-compose top
docker-compose logs 服务id
# 检查配置
docker-compose config
# 检查配置,有问题才有输出
docker-compose config - q
docker-compose restart
docker-compose start
docker-compose stop
看看本专栏文章有哪些吧!
本系列文章目录:
点击关注本专栏
可以看出来本系列文章将会带你从-1到1的学习云原生的,一起加油吧!
Docker Compose 可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。
Docker-Compose 解决了容器与容器之间如何管理编排的问题。