记录误删除docker中极狐gitlab容器恢复过程

如题一次误操作导致删除了docker中极狐gitlab容器恢复过程

  1. 情况说明
    创建容器时,我是用的是极狐官网推荐安装的步骤,具体按照官网步骤走就行
bash 复制代码
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解决办法

创建软连接

bash 复制代码
[root@localhost ~]#cd /usr/libexec/docker/

[root@localhost ~]#sudo ln -s docker-runc-current docker-runc
复制代码
仍然报错,创建全局软连接
bash 复制代码
[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

相关推荐
2401_897930061 小时前
使用Docker轻松部署Neo4j图数据库
数据库·docker·neo4j
全栈工程师修炼指南1 小时前
告别手动构建!Jenkins 与 Gitlab 完美协作,根据参数自动化触发CI/CD流水线实践
运维·ci/cd·自动化·gitlab·jenkins
LeeZhao@2 小时前
【AI推理部署】Docker篇04—Docker自动构建镜像
人工智能·docker·容器
程思扬2 小时前
利用JSONCrack与cpolar提升数据可视化及跨团队协作效率
网络·人工智能·经验分享·docker·信息可视化·容器·架构
落日漫游3 小时前
dockercompose和k8s区别
docker·kubernetes
lllsure5 小时前
【Docker】存储卷
运维·docker·容器
有谁看见我的剑了?5 小时前
k8s-容器探针和生命周期回调学习
学习·容器·kubernetes
纤瘦的鲸鱼6 小时前
Docker 从入门到实践:容器化技术核心指南
java·docker·容器
邂逅星河浪漫7 小时前
【Docker+Nginx+Ollama】前后端分离式项目部署(传统打包方式)
java·nginx·docker·部署
linweidong12 小时前
解锁 Ray 在 Kubernetes 上的弹性伸缩:打造高效、稳定的分布式作业
分布式·容器·kubernetes·ray·keda·autoscaling·ray推理