📅  最后修改于: 2023-12-03 14:40:50.637000             🧑  作者: Mango
以下是一个使用 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。