📜  docker-compose 容器列表 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:40:50.637000             🧑  作者: Mango

Docker-Compose 容器列表 - Shell-Bash

以下是一个使用 Shell-Bash 脚本获取 Docker-Compose 容器列表的示例。这个脚本会使用 Docker-Compose 命令来获取正在运行的容器,并以 Markdown 格式返回容器的详细信息。

#!/bin/bash

# 使用 Docker-Compose 命令获取正在运行的容器列表
containers=$(docker-compose ps --services)

# 遍历容器列表,获取每个容器的详细信息
for container in $containers
do
    # 获取容器状态
    status=$(docker-compose ps -q $container | xargs docker inspect -f '{{.State.Status}}')

    # 获取容器IP地址
    ip=$(docker-compose ps -q $container | xargs docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}')

    # 获取容器端口映射
    ports=$(docker-compose ps -q $container | xargs docker port $container | awk -F' -> ' '{print $2}')

    # 获取容器日志路径
    logs=$(docker-compose ps -q $container | xargs docker inspect -f '{{.LogPath}}')

    # 输出容器详细信息
    echo "## $container"
    echo "* **状态:** $status"
    echo "* **IP地址:** $ip"
    echo "* **端口映射:**"
    echo "    ```"
    echo "$ports"
    echo "    ```"
    echo "* **日志路径:** $logs"
    echo ""
done

然后,你可以将上述脚本保存到一个名为 docker-compose-containers.sh 的文件中,并使用以下命令运行脚本:

bash docker-compose-containers.sh

脚本将会遍历 Docker-Compose 容器列表,并逐个输出容器的详细信息,包括容器名称、状态、IP 地址、端口映射和日志路径。输出结果将会是 Markdown 格式的文本,方便你在文档或说明中使用。

请注意,在运行脚本之前,确保已经在正确的目录下,并且已经安装了 Docker-Compose。