docker containner挂掉,无法exec进入bash,如何修改文件的终极解决方法
场景:
Nginx在bash里面配置的时候挂掉了,然后docker start不起来,exec bash进不去,造成无法再改里面的文件了
解决方法:
1,docker ps –a 可以查到所有docker,包括没有运行的,找到containner ID
[root@hecs-29489 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35a903217fb7 nginx "/docker-entrypoint.…" 11 days ago Exited (1) 9 minutes ago nginx
43030fc53a87 wordpress "docker-entrypoint.s…" 12 days ago Up 12 days 0.0.0.0:81->80/tcp, :::81->80/tcp wpJesus
e03c1b470c42 mysql "docker-entrypoint.s…" 12 days ago Up 12 days 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
2,用docker CP命令,往出来拷文件,改好后,再拷进去 。
[root@hecs-29489 ~]# docker cp 35a903217fb7:/etc/nginx/conf.d/default.conf /root
[root@hecs-29489 ~]# cd /root
[root@hecs-29489 ~]# ls default.conf HostGuardAgent_Linux64_V1.12.50.rpm.sha256 hostguard_setup_config.dat HwAgentInstall_64.sh scs1627613284839_weyomusic.com_server.crt scs1627613284839_weyomusic.com_server.key
[root@hecs-29489 ~]# vi default.conf
[root@hecs-29489 ~]# docker cp default.conf 35a903217fb7:/etc/nginx/conf.d/ [root@hecs-29489 ~]# docker start nginx
nginx
[root@hecs-29489 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35a903217fb7 nginx "/docker-entrypoint.…" 11 days ago Up 1 second 0.0.0.0:80->80/tcp, :::80->80/tcp nginx
43030fc53a87 wordpress "docker-entrypoint.s…" 12 days ago Up 12 days 0.0.0.0:81->80/tcp, :::81->80/tcp wpJesus
e03c1b470c42 mysql "docker-entrypoint.s…" 12 days ago Up 12 days 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
docker containner挂掉,无法exec进入bash,如何修改文件的终极解决方法的更多相关文章
- Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法
Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法 经常在ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪. 其实原因很 ...
- docker swarm 集群进入某节点容器失败的原因及解决方法
今日在自己的docker swarm 测试环境中,想进入某个节点的容器去查看下,结果进入容器失败,并且报了如下错误信息: [root@worker1 ~]# docker exec -it 9a6f6 ...
- 提示-bash: telnet: command not found的解决方法
Linux centos 运行telnet命令,出现下面的错误提示: [root@localhost ~]# telnet 127.0.0.1 9501 -bash: telnet: command ...
- centos出现-bash: /usr/bin/php: 没有那个文件或目录解决方法
造成这个的原因是因为找不到php的执行文件导致的,原先我是安装的php5.4,然后卸载了重新安装php7,导致php可执行文件没有放到$PATH中,可以在终端测试:php -v,如果报错bash: / ...
- docker 端口映射iptables: No chain/target/match by that name错误解决方法
pkill docker iptables -t nat -F ifconfig docker0 down brctl delbr docker0 service docker restart
- Go丨语言package github.com/Go-SQL-Driver/MySQL: exec: "git": executable file not found in %PATH%解决方法
Go语言在添加第三方MySQL驱动的时候报错: go: missing Git command. See https://golang.org/s/gogetcmd package github.co ...
- Linux环境下mysql报错:bash: mysql: command not found 的解决方法
# mysql -u root-bash: mysql: command not found 原因:这是由于系统默认会查找/usr/bin下的命令. 如果这个命令不在这个目录下,当然会找不到命令. 我 ...
- 突然出现 -bash: pod: command not found 的解决方法
$ mkdir -p $HOME/Software/ruby $ export GEM_HOME=$HOME/Software/ruby $ gem install cocoapods [...] g ...
- Ubuntu下解决bash 没有那个文件或目录的方法
因为之前电脑硬盘坏掉,维修换了新硬盘,今天重新安装了ubuntu,装好之后就赶紧搭建工作环境,将备份的资料拷贝进来,搭建交叉编译环境,但是发现,修改bashrc中PATH绝对路径指向交叉编译器后,在命 ...
- Linux 解决 bash ./ 没有那个文件或目录 的方法
在Debian 或 ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪. 其实原因很简单,是因为他没有32位的运行库 ia32-libs ,直接安 ...
随机推荐
- jQuery父子页面之间元素、方法获取、调用
资源来自:https://www.cnblogs.com/it-xcn/p/5896231.html 一.jquery 父.子页面之间页面元素的获取,方法的调用: 1. 父页面获取子页面元素: 格式: ...
- SuperMap流数据应用技术方案
流数据应用技术方案针对流数据应用场景,针对流数据的海量.多源.持续等特征,进行持续地获取相关的动态位置,以及持续地分析.处理和挖掘. 本章沿用基于单机SuperMap iServer环境,介绍流数据处 ...
- Android Qcom USB Driver学习(九)
本章主要是基于之前的学习,实现一个hidraw的驱动,发现有两种用于识别usb设备的方式,放别是usb_device_id和hid_device_id hid_probe (1)hid_device_ ...
- 墨天轮访谈 | IvorySQL王志斌—IvorySQL,一个基于PostgreSQL的兼容Oracle的开源数据库
分享嘉宾:王志斌 瀚高IvorySQL产品经理 整理:墨天轮社区 导读 大家好,我是瀚高IvorySQL产品经理王志斌,IvorySQL是基于PostgreSQL的衍生开源项目. 我今天分享的内容主要 ...
- 动态去读 dll 文件
// 反射动态读取 dll // Assembly assembly = Assembly.LoadFile(); 路径 // Assembly assembly = Assembly.LoadFro ...
- ⼯作中有做过数据处理吗? tree 组件 根据 pid 寻找父节点
主要是在组件和后端返回的数据之间,或者组件产⽣的数据和需要提交给后端的数据之间,有可能会出 现结构对不上,这个时候可能会处理⼀下,举个例⼦,⽐如说我们常⽤的tree型组件要求必须是嵌套的 tree型数 ...
- 我对CMD 和 AMD 的理解 ?
都是模块规范,和 CommonJs 一样都是社区规范,ES-module 才是官方规范,而且官方规范是趋势 : AMD:Asynchronous Module Definition 异步模块定义,即 ...
- EBS GL 当前职责有访问权限的所有账套
CREATE OR REPLACE VIEW CUX_GL_ACCESS_LEDGER_V AS SELECT L.LEDGER_ID,L.NAME,L.LEDGER_CATEGORY_CODE FR ...
- Java高并发,创建线程的新方式Callable接口
我们已经知道创建线程的方式有1.继承thread类.2.实现Runnable接口 接下来讲创建线程的新方式Callable接口,首先对比一下Runnable接口和Callable接口的区别: 首先创建 ...
- 通义灵码:体验AI编程新技能-@workspace 和 @terminal为你的编程插上一双翅膀
1.前言 我是一位运维工程师,用通义灵码个人版的@workspace 和 @terminal 的能力做快速了解一个工程.查找工程内的实现逻辑,以及执行指令不知道如何写,或者不清楚某个指令的意思,对比之 ...