如题一次误操作导致删除了docker中极狐gitlab容器恢复过程
- 情况说明
 创建容器时,我是用的是极狐官网推荐安装的步骤,具体按照官网步骤走就行
sudo docker run --detach \--hostname gitlab.example.com \--publish 443:443 --publish 80:80 --publish 22:22 \--name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:/var/opt/gitlab \--shm-size 256m \registry.gitlab.cn/omnibus/gitlab-jh:latest
详见:https://docs.gitlab.cn/jh/install/docker.html
2.误删除后同样使用上述的命令启动容器会报错
 docker启动报错:Error response from daemon: shim error: docker-runc not installed on system
 2.1解决办法
 创建软连接
[root@localhost ~]#cd /usr/libexec/docker/[root@localhost ~]#sudo ln -s docker-runc-current docker-runc
仍然报错,创建全局软连接
[root@localhost ~]#sudo ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
创建完后在宿主机上查看就是这个样子
 
其实就是docker执行命令指向当前(个人理解)。
 通过这个确实解决了启动报错的问题。但是至于删除容器后为什么会产生这个问题表示疑问,我猜测可能还是权限的问题
 3.启动后发现git还是访问不了,然后docker ps -a 查看发现gitlab起不来。一致重启。然后docker exec也进不去
 通过 docker logs 镜像id 查看容器启动日志发现报错
 Failed to create thread: Operation not permitted(我这里是截取的主要错误,日志忘截图了)
 3.1解决办法
 解决这个错误只需要在启动参数中添加如下参数就可以–privileged=true。
参照:
 https://www.jianshu.com/p/303996dc4e2d
 https://blog.csdn.net/susuruo/article/details/124733962