快速打印docker容器日志

发布时间 2023-12-15 17:57:55作者: 沙师弟demo

有的时候需要在服务器上查看日志信息。

往往敲命令又太多,觉得麻烦,所以写了一个这个脚本。

赋权之后,这个脚本里面丢到/usr/local/bin/ 下面。就可以在任何地方使用 lgs ,然后输入容器部分的名字。如果有多个输入序号就可以打印日志啦。

#/bin/bash

read -p "enter name :" container_name

container_name=$(docker ps --format "{{.Names}}"|grep "$container_name") 

IFS=$'\n' read -rd '' -a container_names_array <<< "$container_name"

num_containers=${#container_names_array[@]}

if [ $num_containers -eq 0 ]; then 
	echo "dont found any container" 
	exit 1
elif [ $num_containers -gt 1]; then
	echo "found many container , you should choose one"
	for i in "${!container_names_array[@]}"; do
		echo "$i. ${container_names_array[$i]}"
	done
	
	read -p "enter index: " selected_index
	
	selected_container="${container_names_array[$selected_index]}"
	
	docker logs -f --tail 2000 "$selected_container"
	
else
	selected_container="${container_names_array[0]}"
	
	docker logs -f --tail 2000 "$selected_container"

fi