列出所有堆栈
在这一步中,你将学习如何列出系统上运行的所有 Docker 堆栈。Docker 堆栈是一组一起部署的服务。在列出堆栈之前,我们需要安装 Docker Compose,它用于定义和运行多容器 Docker 应用程序。
首先,让我们安装 Docker Compose。我们将下载 Docker Compose 二进制文件并使其可执行。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
第一条命令从官方 GitHub 仓库下载 Docker Compose 二进制文件。$(uname -s)
和 $(uname -m)
用于获取你机器的操作系统和架构,确保下载正确的二进制文件。第二条命令使下载的文件可执行。
现在 Docker Compose 已安装,让我们通过检查版本来验证安装情况。
docker-compose --version
你应该在输出中看到已安装的 Docker Compose 版本。
为了演示如何列出堆栈,我们需要部署一个简单的堆栈。我们将创建一个 docker-compose.yml
文件来定义一个简单的 Web 服务。
nano ~/project/docker-compose.yml
将以下内容粘贴到 docker-compose.yml
文件中:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
这个 docker-compose.yml
文件定义了一个名为 web
的单一服务,它使用 nginx:latest
镜像,并将主机上的 80 端口映射到容器内的 80 端口。
现在,让我们使用 docker stack deploy
命令部署这个堆栈。我们将堆栈命名为 mywebstack
。
docker stack deploy -c ~/project/docker-compose.yml mywebstack
-c
标志指定要使用的 Compose 文件,mywebstack
是我们给堆栈起的名字。你将看到指示服务正在创建和部署的输出。
部署堆栈后,你可以使用 docker stack ls
命令列出所有正在运行的堆栈。
docker stack ls
这个命令将显示所有已部署堆栈的列表,包括堆栈名称、服务数量以及每个服务的期望和当前副本数量。你应该在输出中看到 mywebstack
被列出。