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

相关推荐
time never ceases23 分钟前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle
Jason-河山25 分钟前
【自动化更新,让商品信息跳舞】——利用API返回值的幽默编程之旅
运维·自动化
lihuhelihu37 分钟前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
哲讯智能科技39 分钟前
SAP Business One市场价格解析
运维·sap·erp
YCyjs41 分钟前
K8S群集调度二
云原生·容器·kubernetes
Hoxy.R41 分钟前
K8s小白入门
云原生·容器·kubernetes
山东布谷科技官方1 小时前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
One_Blanks1 小时前
渗透测试-Linux基础(1)
linux·运维·安全
爱吃喵的鲤鱼1 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler1 小时前
Linux系统-ubuntu系统安装
linux·运维·云计算