alpine
cat >> ~/.bashrc << 'EOF'
alias ll='ls -l'
# Docker Compose 快捷命令
alias docker-compose='docker compose'
alias down='docker-compose down'
alias up='docker-compose up -d'
alias start='docker-compose restart'
alias stop='docker-compose stop'
alias reload='docker exec nginx nginx -s reload'
# 智能日志函数
log_func() {
# 如果没有参数,默认查看最后 10 行并持续追踪
if [ -z "$1" ]; then
docker-compose logs -f --tail=10
# 如果参数是 0,则不限定行数(查看全部日志并持续追踪)
elif [ "$1" -eq 0 ] 2>/dev/null; then
docker-compose logs -f
# 如果参数是大于 0 的数字,则 tail 指定行数
else
docker-compose logs -f --tail="$1"
fi
}
# 智能透入容器运行命令
exec_func() {
# 提取当前目录 yml 里的第一个服务名
local svc=$(docker compose config --services 2>/dev/null | head -n 1)
if [ -z "$svc" ]; then
echo "❌ 当前目录没有找到有效的 docker-compose 服务"
return 1
fi
# 如果没带参数,默认执行 sh;如果带了参数,执行你输入的参数
if [ $# -eq 0 ]; then
echo "🚀 正在进入服务 [$svc] 的默认 Shell..."
docker compose exec "$svc" sh
else
echo "🚀 正在服务 [$svc] 中执行: $@"
docker compose exec "$svc" "$@"
fi
}
# 绑定别名
alias log='log_func'
alias run='exec_func'
EOF
source ~/.profile