我有一个Python3脚本,需要清除某些Docker容器的日志。 根据{{3}},唯一的方法是使用电源外壳,使用映像连接到Docker VM并清除日志。
我能够手动完成此操作,但是尝试从脚本中运行它时出现错误。这是我的代码:
connect_to_img = "docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --rm -v /:/host alpine /bin/sh"
p = subprocess.Popen(connect_to_img, shell=True)
chg_permissions_cmd = "chroot /host"
p.communicate(chg_permissions_cmd)
delete_logs_cmd = "find /var/lib/docker/containers/ -type f -name '*.log' -delete"
p.communicate(delete_logs_cmd)
执行代码后,
p.communicate(chg_permissions_cmd)
运行我得到
the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
我尝试使用winpty,或将stdin用作解决方法,但未成功。
如何从Python向TTY shell发送指令?