如何从主机在 docker 容器中执行 bash 脚本,以便在执行脚本后不应该从容器中退出?
答案1
您可以尝试使用 bash 作为带有选项--rcfile
文件的交互式非登录 shell。
男人:
当启动非登录 shell 的交互式 shell 时,Bash 会从 ~/.bashrc 读取并执行命令(如果该文件存在)。这可以通过使用 --norc 选项来禁止。 --rcfile 文件选项将强制 Bash 从文件而不是 ~/.bashrc 读取并执行命令。
所以使用
bash --rcfile <(echo '. ~/.bashrc; some_command')
正如本文中提到的邮政。
答案2
看看使用 docker exec 和 -d 作为分离标志,即
docker exec -d <containerid> /path/to/script