清除缓存 docker 容器的脚本错误
Error on script to clear cache docker container
我需要在我的 nginx docker 容器中手动清除缓存并制作一个脚本,我已经制作了一个找到 PID 的脚本:
docker-pid
#!/bin/sh
exec docker inspect --format '{{ .State.Pid }}' "$@"
还有另一个最终剧本
clear_cache.sh
#!/bin/sh
PID=/usr/bin/docker-pid proxy_nginx_1
nsenter -m -p -u -n -i -t $PID
rm -rf /etc/nginx/cache/*
exit
我收到这个错误:
./clear_cache.sh: line 2: proxy_nginx_1: command not found
如果我将 docker-pid
启动到 shell,它会起作用....为什么?
在 bash 中,如果要将命令的输出保存到变量中,则必须使用 $(<COMMAND>)
。所以
clear_cache.sh
#!/bin/sh
PID=$(/usr/bin/docker-pid proxy_nginx_1)
nsenter -m -p -u -n -i -t $PID
rm -rf /etc/nginx/cache/*
exit
或
#!/bin/sh
PID=$(docker inspect --format '{{ .State.Pid }}' "$@")
nsenter -m -p -u -n -i -t $PID
rm -rf /etc/nginx/cache/*
exit
我需要在我的 nginx docker 容器中手动清除缓存并制作一个脚本,我已经制作了一个找到 PID 的脚本:
docker-pid
#!/bin/sh
exec docker inspect --format '{{ .State.Pid }}' "$@"
还有另一个最终剧本
clear_cache.sh
#!/bin/sh
PID=/usr/bin/docker-pid proxy_nginx_1
nsenter -m -p -u -n -i -t $PID
rm -rf /etc/nginx/cache/*
exit
我收到这个错误:
./clear_cache.sh: line 2: proxy_nginx_1: command not found
如果我将 docker-pid
启动到 shell,它会起作用....为什么?
在 bash 中,如果要将命令的输出保存到变量中,则必须使用 $(<COMMAND>)
。所以
clear_cache.sh
#!/bin/sh
PID=$(/usr/bin/docker-pid proxy_nginx_1)
nsenter -m -p -u -n -i -t $PID
rm -rf /etc/nginx/cache/*
exit
或
#!/bin/sh
PID=$(docker inspect --format '{{ .State.Pid }}' "$@")
nsenter -m -p -u -n -i -t $PID
rm -rf /etc/nginx/cache/*
exit