具体报错情况:
autboc@s1:~$ sudo docker exec -it --user root autpr_tainer_731 /bin/bash
OCI runtime exec failed: exec failed: unable to start container process: open /dev/pts/1: operation not permitted: unknown
原因是因为可能某一次daemon-reload后,由1.1.3 runc的bug引发了exec失败,解决办法是升级runc
下载地址: Releases · opencontainers/runc · GitHub
选择最新的下载就行,在容器里先查看runc的位置:
which runc
2、上传到服务器,修改名字并赋予权限
sudo mv runc.amd64 runc && chmod +x runc
3、 备份原有的runc
sudo mv /usr/bin/runc /home/runc_bak
4、停止docker
sudo systemctl stop docker
5、 替换新版本runc
sudo cp runc /usr/bin/runc
6、启动docker
sudo systemctl start docker
7、 检查runc是否升级成功 sudo docker info| grep runc
OK,现在能正常exec进入容器了