mirror of
https://github.com/dqzboy/Docker-Proxy.git
synced 2026-01-15 17:43:04 +08:00
feat: Add Container Log Viewing
This commit is contained in:
@@ -1542,7 +1542,7 @@ function CHECK_DOCKER_PROXY() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
# 一键部署时调用START_CONTAINER
|
||||
function START_CONTAINER() {
|
||||
if [ "$modify_config" = "y" ] || [ "$modify_config" = "Y" ]; then
|
||||
ADD_DOCKERD_PROXY
|
||||
@@ -1550,14 +1550,17 @@ function START_CONTAINER() {
|
||||
INFO "拉取服务镜像并启动服务中,请稍等..."
|
||||
fi
|
||||
|
||||
if [ "$selected_all" = true ]; then
|
||||
# DOWN_CONFIG函数执行后判断selected_all变量
|
||||
if [ "$selected_all变量" = true ]; then
|
||||
docker-compose up -d --force-recreate
|
||||
else
|
||||
docker-compose up -d "${selected_names[@]}" registry-ui
|
||||
fi
|
||||
}
|
||||
|
||||
# 使用函数UPDATE_CONFIG时调用RESTART_CONTAINER
|
||||
function RESTART_CONTAINER() {
|
||||
# DOWN_CONFIG函数执行后判断selected_all变量
|
||||
if [ "$selected_all" = true ]; then
|
||||
docker-compose restart
|
||||
else
|
||||
@@ -1672,127 +1675,8 @@ done
|
||||
}
|
||||
|
||||
|
||||
function RESTART_SERVICE() {
|
||||
services=(
|
||||
"dockerhub"
|
||||
"gcr"
|
||||
"ghcr"
|
||||
"quay"
|
||||
"k8sgcr"
|
||||
"k8s"
|
||||
"mcr"
|
||||
"elastic"
|
||||
)
|
||||
|
||||
selected_services=()
|
||||
|
||||
WARN "重启服务请在${LIGHT_GREEN}docker-compose.yaml${RESET}文件存储目录下执行脚本.默认安装路径: ${LIGHT_BLUE}${PROXY_DIR}${RESET}"
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
echo -e "${GREEN}1)${RESET} ${BOLD}docker hub${RESET}"
|
||||
echo -e "${GREEN}2)${RESET} ${BOLD}gcr${RESET}"
|
||||
echo -e "${GREEN}3)${RESET} ${BOLD}ghcr${RESET}"
|
||||
echo -e "${GREEN}4)${RESET} ${BOLD}quay${RESET}"
|
||||
echo -e "${GREEN}5)${RESET} ${BOLD}k8s-gcr${RESET}"
|
||||
echo -e "${GREEN}6)${RESET} ${BOLD}k8s${RESET}"
|
||||
echo -e "${GREEN}7)${RESET} ${BOLD}mcr${RESET}"
|
||||
echo -e "${GREEN}8)${RESET} ${BOLD}elastic${RESET}"
|
||||
echo -e "${GREEN}9)${RESET} ${BOLD}all${RESET}"
|
||||
echo -e "${GREEN}0)${RESET} ${BOLD}exit${RESET}"
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
|
||||
read -e -p "$(INFO "输入序号选择对应服务,${LIGHT_YELLOW}空格分隔${RESET}多个选项. ${LIGHT_CYAN}all选择所有${RESET} > ")" restart_service
|
||||
|
||||
if [[ "$restart_service" == "9" ]]; then
|
||||
for service_name in "${services[@]}"; do
|
||||
if docker-compose ps --services | grep -q "^${service_name}$"; then
|
||||
selected_services+=("$service_name")
|
||||
else
|
||||
WARN "服务 ${service_name}未运行,跳过重启。"
|
||||
fi
|
||||
done
|
||||
INFO "重启的服务: ${selected_services[*]}"
|
||||
elif [[ "$restart_service" == "0" ]]; then
|
||||
WARN "退出重启服务!"
|
||||
exit 1
|
||||
else
|
||||
for choice in ${restart_service}; do
|
||||
if [[ $choice =~ ^[0-9]+$ ]] && ((choice >0 && choice <= ${#services[@]})); then
|
||||
service_name="${services[$((choice -1))]}"
|
||||
if docker-compose ps --services | grep -q "^${service_name}$"; then
|
||||
selected_services+=("$service_name")
|
||||
INFO "重启的服务: ${selected_services[*]}"
|
||||
else
|
||||
WARN "服务 ${service_name} 未运行,跳过重启。"
|
||||
|
||||
fi
|
||||
else
|
||||
ERROR "无效的选择: $choice. 请重新${LIGHT_GREEN}选择0-9${RESET}的选项"
|
||||
RESTART_SERVICE
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
function UPDATE_SERVICE() {
|
||||
services=(
|
||||
"dockerhub"
|
||||
"gcr"
|
||||
"ghcr"
|
||||
"quay"
|
||||
"k8sgcr"
|
||||
"k8s"
|
||||
"mcr"
|
||||
"elastic"
|
||||
)
|
||||
|
||||
selected_services=()
|
||||
|
||||
WARN "更新服务请在${LIGHT_GREEN}docker-compose.yaml${RESET}文件存储目录下执行脚本.默认安装路径: ${LIGHT_BLUE}${PROXY_DIR}${RESET}"
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
echo -e "${GREEN}1)${RESET} ${BOLD}docker hub${RESET}"
|
||||
echo -e "${GREEN}2)${RESET} ${BOLD}gcr${RESET}"
|
||||
echo -e "${GREEN}3)${RESET} ${BOLD}ghcr${RESET}"
|
||||
echo -e "${GREEN}4)${RESET} ${BOLD}quay${RESET}"
|
||||
echo -e "${GREEN}5)${RESET} ${BOLD}k8s-gcr${RESET}"
|
||||
echo -e "${GREEN}6)${RESET} ${BOLD}k8s${RESET}"
|
||||
echo -e "${GREEN}7)${RESET} ${BOLD}mcr${RESET}"
|
||||
echo -e "${GREEN}8)${RESET} ${BOLD}elastic${RESET}"
|
||||
echo -e "${GREEN}9)${RESET} ${BOLD}all${RESET}"
|
||||
echo -e "${GREEN}0)${RESET} ${BOLD}exit${RESET}"
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
|
||||
read -e -p "$(INFO "输入序号选择对应服务,${LIGHT_YELLOW}空格分隔${RESET}多个选项. ${LIGHT_CYAN}all选择所有${RESET} > ")" choices_service
|
||||
|
||||
if [[ "$choices_service" == "9" ]]; then
|
||||
for service_name in "${services[@]}"; do
|
||||
if docker-compose ps --services | grep -q "^${service_name}$"; then
|
||||
selected_services+=("$service_name")
|
||||
else
|
||||
WARN "服务 ${service_name}未运行,跳过更新。"
|
||||
fi
|
||||
done
|
||||
INFO "更新的服务: ${selected_services[*]}"
|
||||
elif [[ "$choices_service" == "0" ]]; then
|
||||
WARN "退出更新服务!"
|
||||
exit 1
|
||||
else
|
||||
for choice in ${choices_service}; do
|
||||
if [[ $choice =~ ^[0-9]+$ ]] && ((choice >0 && choice <= ${#services[@]})); then
|
||||
service_name="${services[$((choice -1))]}"
|
||||
if docker-compose ps --services | grep -q "^${service_name}$"; then
|
||||
selected_services+=("$service_name")
|
||||
INFO "更新的服务: ${selected_services[*]}"
|
||||
else
|
||||
WARN "服务 ${service_name} 未运行,跳过更新。"
|
||||
|
||||
fi
|
||||
else
|
||||
ERROR "无效的选择: $choice. 请重新${LIGHT_GREEN}选择0-9${RESET}的选项"
|
||||
UPDATE_SERVICE
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
function PROMPT(){
|
||||
@@ -1885,7 +1769,6 @@ esac
|
||||
}
|
||||
|
||||
|
||||
|
||||
function COMP_INST() {
|
||||
SEPARATOR "安装组件"
|
||||
echo -e "1) ${BOLD}安装${LIGHT_GREEN}环境依赖${RESET}"
|
||||
@@ -1984,6 +1867,222 @@ esac
|
||||
}
|
||||
|
||||
|
||||
function SVC_MGMT() {
|
||||
# 定义Docker容器服务名称
|
||||
CONTAINER_SERVICES() {
|
||||
services=(
|
||||
"dockerhub"
|
||||
"gcr"
|
||||
"ghcr"
|
||||
"quay"
|
||||
"k8sgcr"
|
||||
"k8s"
|
||||
"mcr"
|
||||
"elastic"
|
||||
)
|
||||
}
|
||||
|
||||
RESTART_SERVICE() {
|
||||
CONTAINER_SERVICES
|
||||
|
||||
selected_services=()
|
||||
|
||||
WARN "重启服务请在${LIGHT_GREEN}docker-compose.yaml${RESET}文件存储目录下执行脚本.默认安装路径: ${LIGHT_BLUE}${PROXY_DIR}${RESET}"
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
echo -e "${GREEN}1)${RESET} ${BOLD}docker hub${RESET}"
|
||||
echo -e "${GREEN}2)${RESET} ${BOLD}gcr${RESET}"
|
||||
echo -e "${GREEN}3)${RESET} ${BOLD}ghcr${RESET}"
|
||||
echo -e "${GREEN}4)${RESET} ${BOLD}quay${RESET}"
|
||||
echo -e "${GREEN}5)${RESET} ${BOLD}k8s-gcr${RESET}"
|
||||
echo -e "${GREEN}6)${RESET} ${BOLD}k8s${RESET}"
|
||||
echo -e "${GREEN}7)${RESET} ${BOLD}mcr${RESET}"
|
||||
echo -e "${GREEN}8)${RESET} ${BOLD}elastic${RESET}"
|
||||
echo -e "${GREEN}9)${RESET} ${BOLD}all${RESET}"
|
||||
echo -e "${GREEN}0)${RESET} ${BOLD}exit${RESET}"
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
|
||||
read -e -p "$(INFO "输入序号选择对应服务,${LIGHT_YELLOW}空格分隔${RESET}多个选项. ${LIGHT_CYAN}all选择所有${RESET} > ")" restart_service
|
||||
|
||||
if [[ "$restart_service" == "9" ]]; then
|
||||
for service_name in "${services[@]}"; do
|
||||
if docker-compose ps --services | grep -q "^${service_name}$"; then
|
||||
selected_services+=("$service_name")
|
||||
else
|
||||
WARN "服务 ${service_name}未运行,跳过重启。"
|
||||
fi
|
||||
done
|
||||
INFO "重启的服务: ${selected_services[*]}"
|
||||
elif [[ "$restart_service" == "0" ]]; then
|
||||
WARN "退出重启服务!"
|
||||
exit 1
|
||||
else
|
||||
for choice in ${restart_service}; do
|
||||
if [[ $choice =~ ^[0-9]+$ ]] && ((choice >0 && choice <= ${#services[@]})); then
|
||||
service_name="${services[$((choice -1))]}"
|
||||
if docker-compose ps --services | grep -q "^${service_name}$"; then
|
||||
selected_services+=("$service_name")
|
||||
INFO "重启的服务: ${selected_services[*]}"
|
||||
else
|
||||
WARN "服务 ${service_name} 未运行,跳过重启。"
|
||||
|
||||
fi
|
||||
else
|
||||
ERROR "无效的选择: $choice. 请重新${LIGHT_GREEN}选择0-9${RESET}的选项"
|
||||
RESTART_SERVICE # 选择无效重新调用当前函数进行选择
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
UPDATE_SERVICE() {
|
||||
CONTAINER_SERVICES
|
||||
|
||||
selected_services=()
|
||||
|
||||
WARN "更新服务请在${LIGHT_GREEN}docker-compose.yaml${RESET}文件存储目录下执行脚本.默认安装路径: ${LIGHT_BLUE}${PROXY_DIR}${RESET}"
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
echo -e "${GREEN}1)${RESET} ${BOLD}docker hub${RESET}"
|
||||
echo -e "${GREEN}2)${RESET} ${BOLD}gcr${RESET}"
|
||||
echo -e "${GREEN}3)${RESET} ${BOLD}ghcr${RESET}"
|
||||
echo -e "${GREEN}4)${RESET} ${BOLD}quay${RESET}"
|
||||
echo -e "${GREEN}5)${RESET} ${BOLD}k8s-gcr${RESET}"
|
||||
echo -e "${GREEN}6)${RESET} ${BOLD}k8s${RESET}"
|
||||
echo -e "${GREEN}7)${RESET} ${BOLD}mcr${RESET}"
|
||||
echo -e "${GREEN}8)${RESET} ${BOLD}elastic${RESET}"
|
||||
echo -e "${GREEN}9)${RESET} ${BOLD}all${RESET}"
|
||||
echo -e "${GREEN}0)${RESET} ${BOLD}exit${RESET}"
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
|
||||
read -e -p "$(INFO "输入序号选择对应服务,${LIGHT_YELLOW}空格分隔${RESET}多个选项. ${LIGHT_CYAN}all选择所有${RESET} > ")" choices_service
|
||||
|
||||
if [[ "$choices_service" == "9" ]]; then
|
||||
for service_name in "${services[@]}"; do
|
||||
if docker-compose ps --services | grep -q "^${service_name}$"; then
|
||||
selected_services+=("$service_name")
|
||||
else
|
||||
WARN "服务 ${service_name}未运行,跳过更新。"
|
||||
fi
|
||||
done
|
||||
INFO "更新的服务: ${selected_services[*]}"
|
||||
elif [[ "$choices_service" == "0" ]]; then
|
||||
WARN "退出更新服务!"
|
||||
exit 1
|
||||
else
|
||||
for choice in ${choices_service}; do
|
||||
if [[ $choice =~ ^[0-9]+$ ]] && ((choice >0 && choice <= ${#services[@]})); then
|
||||
service_name="${services[$((choice -1))]}"
|
||||
if docker-compose ps --services | grep -q "^${service_name}$"; then
|
||||
selected_services+=("$service_name")
|
||||
INFO "更新的服务: ${selected_services[*]}"
|
||||
else
|
||||
WARN "服务 ${service_name} 未运行,跳过更新。"
|
||||
|
||||
fi
|
||||
else
|
||||
ERROR "无效的选择: $choice. 请重新${LIGHT_GREEN}选择0-9${RESET}的选项"
|
||||
UPDATE_SERVICE # 选择无效重新调用当前函数进行选择
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
CONTAIENR_LOGS() {
|
||||
CONTAINER_SERVICES
|
||||
|
||||
selected_services=()
|
||||
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
echo -e "${GREEN}1)${RESET} ${BOLD}docker hub${RESET}"
|
||||
echo -e "${GREEN}2)${RESET} ${BOLD}gcr${RESET}"
|
||||
echo -e "${GREEN}3)${RESET} ${BOLD}ghcr${RESET}"
|
||||
echo -e "${GREEN}4)${RESET} ${BOLD}quay${RESET}"
|
||||
echo -e "${GREEN}5)${RESET} ${BOLD}k8s-gcr${RESET}"
|
||||
echo -e "${GREEN}6)${RESET} ${BOLD}k8s${RESET}"
|
||||
echo -e "${GREEN}7)${RESET} ${BOLD}mcr${RESET}"
|
||||
echo -e "${GREEN}8)${RESET} ${BOLD}elastic${RESET}"
|
||||
echo -e "${GREEN}0)${RESET} ${BOLD}exit${RESET}"
|
||||
echo -e "${YELLOW}-------------------------------------------------${RESET}"
|
||||
|
||||
read -e -p "$(INFO "输入序号选择对应服务,${LIGHT_YELLOW}空格分隔${RESET}多个选项. ${LIGHT_CYAN}all选择所有${RESET} > ")" restart_service
|
||||
|
||||
if [[ "$restart_service" == "0" ]]; then
|
||||
WARN "退出查看容器服务日志操作!"
|
||||
exit 1
|
||||
else
|
||||
for choice in ${restart_service}; do
|
||||
if [[ $choice =~ ^[0-9]+$ ]] && ((choice >0 && choice <= ${#services[@]})); then
|
||||
service_name="${services[$((choice -1))]}"
|
||||
if docker-compose ps --services | grep -q "^${service_name}$"; then
|
||||
selected_services+=("$service_name")
|
||||
INFO "查看日志的服务: ${selected_services[*]}"
|
||||
else
|
||||
WARN "服务 ${service_name} 未运行,无法查看容器日志。"
|
||||
fi
|
||||
else
|
||||
ERROR "无效的选择: $choice. 请重新${LIGHT_GREEN}选择0-8${RESET}的选项"
|
||||
CONTAIENR_LOGS # 选择无效重新调用当前函数进行选择
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
SEPARATOR "服务管理"
|
||||
echo -e "1) ${BOLD}${LIGHT_GREEN}重启${RESET}服务"
|
||||
echo -e "2) ${BOLD}${LIGHT_CYAN}更新${RESET}服务"
|
||||
echo -e "3) ${BOLD}${LIGHT_MAGENTA}查看${RESET}日志"
|
||||
echo -e "4) ${BOLD}返回${LIGHT_RED}主菜单${RESET}"
|
||||
echo -e "0) ${BOLD}退出脚本${RESET}"
|
||||
echo "---------------------------------------------------------------"
|
||||
read -e -p "$(INFO "输入${LIGHT_CYAN}对应数字${RESET}并按${LIGHT_GREEN}Enter${RESET}键 > ")" ser_choice
|
||||
|
||||
case $ser_choice in
|
||||
1)
|
||||
RESTART_SERVICE
|
||||
if [ ${#selected_services[@]} -eq 0 ]; then
|
||||
ERROR "没有需要重启的服务,请重新选择"
|
||||
RESTART_SERVICE
|
||||
else
|
||||
docker-compose stop ${selected_services[*]}
|
||||
docker-compose up -d --force-recreate ${selected_services[*]}
|
||||
fi
|
||||
SVC_MGMT
|
||||
;;
|
||||
2)
|
||||
UPDATE_SERVICE
|
||||
if [ ${#selected_services[@]} -eq 0 ]; then
|
||||
ERROR "没有需要更新的服务,请重新选择"
|
||||
UPDATE_SERVICE
|
||||
else
|
||||
docker-compose pull ${selected_services[*]}
|
||||
docker-compose up -d --force-recreate ${selected_services[*]}
|
||||
fi
|
||||
SVC_MGMT
|
||||
;;
|
||||
3)
|
||||
CONTAIENR_LOGS
|
||||
if [ ${#selected_services[@]} -eq 0 ]; then
|
||||
ERROR "没有需要查看的服务,请重新选择"
|
||||
CONTAIENR_LOGS
|
||||
else
|
||||
docker-compose logs ${selected_services[*]}
|
||||
fi
|
||||
SVC_MGMT
|
||||
;;
|
||||
4)
|
||||
main_menu
|
||||
;;
|
||||
0)
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
WARN "输入了无效的选择。请重新${LIGHT_GREEN}选择0-3${RESET}的选项."
|
||||
SVC_MGMT
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
function ADD_SYS_CMD() {
|
||||
MAX_ATTEMPTS=3
|
||||
attempt=0
|
||||
@@ -2219,12 +2318,11 @@ echo
|
||||
SEPARATOR "请选择操作"
|
||||
echo -e "1) ${BOLD}${LIGHT_GREEN}安装${RESET}服务"
|
||||
echo -e "2) ${BOLD}${LIGHT_MAGENTA}组件${RESET}安装"
|
||||
echo -e "3) ${BOLD}${LIGHT_YELLOW}重启${RESET}服务"
|
||||
echo -e "4) ${BOLD}${GREEN}更新${RESET}服务"
|
||||
echo -e "5) ${BOLD}${LIGHT_CYAN}更新${RESET}配置"
|
||||
echo -e "6) ${BOLD}${LIGHT_RED}卸载${RESET}服务"
|
||||
echo -e "7) 本机${BOLD}${CYAN}Docker代理${RESET}"
|
||||
echo -e "8) 设置成${BOLD}${YELLOW}系统命令${RESET}"
|
||||
echo -e "3) ${BOLD}${LIGHT_YELLOW}管理${RESET}服务"
|
||||
echo -e "4) ${BOLD}${LIGHT_CYAN}更新${RESET}配置"
|
||||
echo -e "5) ${BOLD}${LIGHT_RED}卸载${RESET}服务"
|
||||
echo -e "6) 本机${BOLD}${CYAN}Docker代理${RESET}"
|
||||
echo -e "7) 设置成${BOLD}${YELLOW}系统命令${RESET}"
|
||||
echo -e "0) ${BOLD}退出脚本${RESET}"
|
||||
echo "---------------------------------------------------------------"
|
||||
read -e -p "$(INFO "输入${LIGHT_CYAN}对应数字${RESET}并按${LIGHT_GREEN}Enter${RESET}键 > ")" main_choice
|
||||
@@ -2238,44 +2336,23 @@ case $main_choice in
|
||||
COMP_INST
|
||||
;;
|
||||
3)
|
||||
SEPARATOR "重启服务"
|
||||
RESTART_SERVICE
|
||||
if [ ${#selected_services[@]} -eq 0 ]; then
|
||||
ERROR "没有需要重启的服务,请重新选择"
|
||||
RESTART_SERVICE
|
||||
else
|
||||
docker-compose stop ${selected_services[*]}
|
||||
docker-compose up -d --force-recreate ${selected_services[*]}
|
||||
fi
|
||||
SEPARATOR "重启完成"
|
||||
SVC_MGMT
|
||||
;;
|
||||
4)
|
||||
SEPARATOR "更新服务"
|
||||
UPDATE_SERVICE
|
||||
if [ ${#selected_services[@]} -eq 0 ]; then
|
||||
ERROR "没有需要更新的服务,请重新选择"
|
||||
UPDATE_SERVICE
|
||||
else
|
||||
docker-compose pull ${selected_services[*]}
|
||||
docker-compose up -d --force-recreate ${selected_services[*]}
|
||||
fi
|
||||
SEPARATOR "更新完成"
|
||||
;;
|
||||
5)
|
||||
SEPARATOR "更新配置"
|
||||
UPDATE_CONFIG
|
||||
SEPARATOR "更新完成"
|
||||
;;
|
||||
6)
|
||||
5)
|
||||
UNI_DOCKER_SERVICE
|
||||
;;
|
||||
7)
|
||||
6)
|
||||
SEPARATOR "配置本机Docker代理"
|
||||
DOCKER_PROXY_HTTP
|
||||
ADD_DOCKERD_PROXY
|
||||
SEPARATOR "Docker代理配置完成"
|
||||
;;
|
||||
8)
|
||||
7)
|
||||
ADD_SYS_CMD
|
||||
;;
|
||||
0)
|
||||
|
||||
Reference in New Issue
Block a user