docker 容器挂掉,无法exec 进入bash 怎么修改容器里的文件

在使用tdengine 数据库时出现了

TDengine.Driver.TDengineError:"code:[0x334],error:Out of dnodes"

查找文档发现需要修改一个配置文件 。

/etc/taos/taos.cfg 中的 supportVnodes 参数

于是修改

保存。然后,运行出错。

复制代码
03/21 06:56:27.986498 00000064 UTL apoll url not load
03/21 06:56:27.986572 00000064 UTL load from cfg file /etc/taos//taos.cfg success
03/21 06:56:27.986582 00000064 UTL env file:.env not load
03/21 06:56:27.986648 00000064 UTL load from env variables cfg success
03/21 06:56:27.986972 00000064 DND startup path:/root args:taosd
03/21 06:56:27.987547 00000064 UTL apoll url not load
03/21 06:56:27.987588 00000064 UTL ERROR cfg:supportVnodes, type:int32 src:cfg_file value:99990 out of range[0, 4096]
03/21 06:56:27.987707 00000064 UTL ERROR failed to load from cfg file /etc/taos//taos.cfg since Out of range
03/21 06:56:27.987716 00000064 UTL ERROR failed to load from cfg file:/etc/taos//taos.cfg since Out of range
03/21 06:56:27.987720 00000064 UTL ERROR failed to load cfg since Out of range
03/21 06:56:27.987733 00000064 DND ERROR failed to start since read config error
[root@t224yuntu1 ~]# docker exec -it tdengine /bin/bash
Error response from daemon: Container 2adfe16473d9885cd0b9a7e5668a051be711be5fcf6ab17f88a955f4f9b95a02 is not running

好吧。docker start不起来,exec bash进不去,造成无法再改里面的文件,已经玩坏了。由于数据很重要所以需要恢复。

采用了以下方式来恢复

1,docker ps --a 可以查到所有docker,包括没有运行的,找到containner ID

2,用docker CP命令,往出来拷文件,改好后,再拷进去 。

以tdengine 为例 docker ps -a | grep 'tdengine' 查找到tdengine 的内容

复制代码
[root@t224yuntu1 ~]# docker ps -a | grep 'tdengine' 2adfe16473d9 tdengine/tdengine:3.1.1.0 /tini -- /usr/bin/e... 5 hours ago Exited (255) 13 minutes ago tdengine 62e9559efb65 tdengine/tdengine:3.1.1.0 /tini -- /usr/bin/e... 23 hours ago Exited (129) 20 hours ago busy_snyder 9cc5cd51f171 tdengine/tdengine:3.1.1.0 /tini -- /usr/bin/e... 23 hours ago Exited (255) 23 hours ago vigilant_sammet e89a0b43d714 tdengine/tdengine:3.1.1.0 /tini -- /usr/bin/e... 23 hours ago Exited (255) 23 hours ago affectionate_jepsen 68b78dee050e tdengine/tdengine:3.1.1.0 /tini -- /usr/bin/e... 23 hours ago Exited (255) 23 hours ago fervent_hypatia 8579cc938163 tdengine/tdengine:3.1.1.0 /tini -- /usr/bin/e... 24 hours ago Exited (129) 23 hours ago angry_chatterjee

使用doker cp 来复制文件

复制代码
[root@t224yuntu1 ~]# docker cp tdengine:/etc/taos/taos.cfg /home Successfully copied 7.17kB to /home [root@t224yuntu1 ~]# cd /home [root@t224yuntu1 home]# ll 总用量 8 -rw-r--r-- 1 root root 5532 3月 21 14:56 taos.cfg

再次文件进行修改,

修改后将文件复制到docker 容器中

复制代码
[root@t224yuntu1 home]# docker cp taos.cfg tdengine:/etc/taos/taos.cfg Successfully copied 7.17kB to tdengine:/etc/taos/taos.cfg

再次使用 docker restart tdengine

查看OK

相关推荐
Java小白,一起学习2 分钟前
Docker快速入门(ubuntu环境下)
ubuntu·docker·容器
江湖有缘3 分钟前
Docker好搭档:轻量级端口检查工具Dockpeek上手体验
docker·容器·eureka
拾贰_C4 分钟前
【Ubuntu】安装Nginx(nVidia驱动未安装成功阻止版)
linux·运维·服务器·ubuntu
会飞的大可4 分钟前
前后端一体化CI/CD设计与实现:告别手动部署,实现全链路自动化交付
运维·ci/cd·自动化
克莱因3585 小时前
Linux CentOS7 进程基础知识
linux·运维·服务器
Skilce6 小时前
ZrLog 高可用部署
运维·服务器·数据库·阿里云·maven
papaofdoudou8 小时前
LINUX VFIO被IOMMUFD取代
linux·运维·服务器
无忧智库10 小时前
智慧医院的“新基建”:从顶层设计到全栈式智能运维的深度解构(PPT)
大数据·运维
杨云龙UP11 小时前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
舰长11511 小时前
linux系统服务器加固1、中风险 未设置登录失败处理功能和登录连接超时处理功能。2、中风险 未限制默认账户的访问权限。3、中风险 未实现管理用户的权限分离。
linux·运维·服务器