进入容器里面:
拷贝新版 ffmpeg 到系统路径
cp /app/roop/ffmpeg-7.0.2-amd64-static/ffmpeg /usr/local/bin/
cp /app/roop/ffmpeg-7.0.2-amd64-static/ffprobe /usr/local/bin/
修改 PATH 变量,确保优先使用 /usr/local/bin
export PATH=/usr/local/bin:$PATH 这个是临时的每次都要设置
永久设置
这个不好用
echo 'export PATH=/app/roop/ffmpeg-7.0.2-amd64-static:$PATH' >> /root/.bashrc
这个不好用
echo 'export PATH=/usr/local/bin:$PATH' >> /root/.bashrc
然后重新打开一个新的 shell 或执行:
source /root/.bashrc
就报错了:root@2f0e4c51988c:/app/roop# echo 'export PATH=/app/roop/ffmpeg-7.0.2-amd64-static:KaTeX parse error: Expected 'EOF', got '#' at position 51: …1988c:/app/roop#̲ source /root/.…PATH,可能出现了行末没有换行,导致 bash 把 export 后的内容当作命令执行,从而报错。
way2:可以成功,容器环境永久有效
// 这会清空原有的 .bashrc 内容,只保留一行 export PATH=...
echo 'export PATH=/usr/local/bin:$PATH' > ~/.bashrc
source ~/.bashrc
这样每次 root
用户登录时,环境变量都会自动设置。
验证
which ffmpeg
ffmpeg -version