阅读本文 会给你带来如下收益:
Docker Compose是什么,
Docker Compose安装教程,
使用docker-compose子命令管理应用
Docker Compose常用命令
1. Docker Compose是什么
Docker Compose 与 Docker Stack 非常类似。它能够在 Docker 节点上,以单引擎模式(Single-Engine Mode)进行多容器应用的部署和管理。
多数的现代应用通过多个更小的服务互相协同来组成一个完整可用的应用。比如一个简单的示例应用可能由如下 4 个服务组成。
Web前端。
订单管理。
品类管理。
后台数据库。
将以上服务组织在一起,就是一个可用的应用。
部署和管理繁多的服务是困难的。而这正是 Docker Compose 要解决的问题。
Docker Compose 并不是通过脚本和各种冗长的 docker 命令来将应用组件组织起来,而是通过一个声明式的配置文件描述整个应用,从而使用一条命令完成部署。
应用部署成功后,还可以通过一系列简单的命令实现对其完整声明周期的管理。甚至,配置文件还可以置于版本控制系统中进行存储和管理。
2. Docker Compose安装教程
在 Linux 上安装 Docker Compose
在 Linux 上安装 Docker Compose分为两步。
首先使用 curl 命令下载二进制文件,然后使用 chmod 命令将其置为可运行。
Docker Compose 在 Linux 上的使用,同样需要先安装有 Docker 引擎。
如下命令会下载 1.29.1 版本的 Docker Compose 到 /usr/bin/local。请在 GitHub 上查找想安装的版本(https://github.com/docker/compose/releases),并替换 URL 中的 1.29.1。
下面的示例是一条写成多行的命令,如果要将其合并为一行,请删掉反斜杠(\)。
https% Total % Received Time Time Time Current
下载 docker-compose 二进制文件后,使用如下命令使其可执行。
$ chmod +x /usr/local/bin/docker-compose
检查安装情况以及版本。
$ docker-compose --version
docker-compose version 1.18.0, build 8dd22a9
或者用国内地址 :
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
现在就可以在 Linux 上使用 Docker Compose 了。
常用的启动一个 Compose 应用(通过 Compose 文件定义的多容器应用称为“Compose 应用”)的方式就是 docker-compose up 命令。
它会构建所需的镜像,创建网络和卷,并启动容器。
默认情况下,docker-compose up 会查找名为 docker-compose.yml 或 docker-compose.yaml 的 Compose 文件。
$ docker-compose up -d
使用 -d 参数在后台启动应用也是常见的用法,代码如下。
docker-compose up -d
–OR–
如果 Compose 文件是其他文件名,则需要通过 -f 参数来指定。
如下命令会基于名为 prod-equus-bass.yml 的 Compose 文件部署应用。
$docker-compose -f prod-equus-bass.yml up -d
docker-compose -f prod-equus-bass.yml up -d
前面的示例命令在后台启动应用(没有使用 -d 参数 前台启动)
$ docker image ls
$ docker container ls
$ docker network ls
3. Docker使用docker-compose子命令管理应用
$ docker-compose ps
$ docker-compose top
stop命令会停止应用,但并不会删除资源。然后再次运行
$ docker-compose stop
$ docker-compose ps
$ docker-compose restart
docker-compose down 这一个命令就可以停止和关闭应用。
$ docker-compose down
4. Docker Compose常用命令
下面介绍一些在使用 Docker Compose 时常用的命令。
- docker-compose up
用于部署一个 Compose 应用。
默认情况下该命令会读取名为 docker-compose.yml 或 docker-compose.yaml 的文件。
当然用户也可以使用 -f 指定其他文件名。通常情况下,会使用 -d 参数令应用在后台启动。
- docker-compose stop
停止 Compose 应用相关的所有容器,但不会删除它们。
被停止的应用可以很容易地通过 docker-compose restart 命令重新启动。
- docker-compose rm
用于删除已停止的 Compose 应用。
它会删除容器和网络,但是不会删除卷和镜像。
- docker-compose restart
重启已停止的 Compose 应用。
如果用户在停止该应用后对其进行了变更,那么变更的内容不会反映在重启后的应用中,这时需要重新部署应用使变更生效。
- docker-compose ps
用于列出 Compose 应用中的各个容器。
输出内容包括当前状态、容器运行的命令以及网络端口。
- docker-compose down
停止并删除运行中的 Compose 应用。
它会删除容器和网络,但是不会删除卷和镜像。