使用 docker compose ps 列出运行中的容器
在本步骤中,你将学习如何使用 docker compose ps
命令列出运行中的容器。在使用 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
该命令会下载适用于你系统架构的 Docker Compose 二进制文件,并保存到 /usr/local/bin/docker-compose
。
接着,我们需要给二进制文件添加可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
现在,让我们通过检查版本来验证安装:
docker-compose --version
你应该能在输出中看到已安装的 Docker Compose 版本。
为了演示 docker compose ps
,我们需要一个 docker-compose.yml
文件和几个运行中的服务。让我们在你的 ~/project
目录下创建一个简单的 docker-compose.yml
文件:
nano ~/project/docker-compose.yml
将以下内容添加到文件中:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
app:
image: alpine:latest
command: sleep infinity
这个 docker-compose.yml
文件定义了两个服务:使用 nginx
镜像的 web
服务和使用 alpine
镜像的 app
服务。web
服务将主机的 80 端口映射到容器的 80 端口,app
服务运行 sleep infinity
命令来保持容器运行。
保存文件并退出编辑器(按 Ctrl+X,输入 Y,然后按 Enter)。
现在,让我们拉取所需的镜像:
docker pull nginx:latest
docker pull alpine:latest
这些命令会从 Docker Hub 下载 nginx:latest
和 alpine:latest
镜像。
接着,启动 docker-compose.yml
文件中定义的服务。请确保你位于 ~/project
目录下:
cd ~/project
docker-compose up -d
docker-compose up -d
命令会构建、创建、启动并附加到服务的容器。-d
标志表示在后台运行容器。
现在容器已经运行起来了,我们可以使用 docker compose ps
来列出它们:
docker-compose ps
该命令会列出 docker-compose.yml
文件中定义的运行中容器。你应该能看到类似以下的输出,显示容器名称、命令、状态和端口信息:
NAME COMMAND SERVICE STATUS PORTS
project-app-1 "sleep infinity" app running
project-web-1 "/docker-entrypoint.sh nginx -g 'daemon off;'" web running 0.0.0.0:80->80/tcp
输出显示 project-app-1
和 project-web-1
容器正在运行。NAME
通常由项目名称(目录名)、服务名称和一个数字组成。