Docker容器无法启动,里面的配置文件如何修改

本文介绍了两种在Docker容器中管理配置文件的方法:一是通过`dockercp`在主机上编辑后复制回容器,二是利用`dockerinspect`查看MergedDir进行直接修改。后者允许在容器退出后修改并重启。
摘要由CSDN通过智能技术生成

方法一:

把docker容器中的配置文件复制到主机中,然后在主机中修改,修改完成后再复制到docker容器中 1. 复制docker容器的文件到主机中

docker cp [容器id]:docker容器中配置文件路径 主机路径 docker cp mysql:/etc/mysql/my.cnf /home/my.cnf
复制

2. 修改配置文件中出错的部分

3. 配置文件到docker容器中

docker cp 主机文件路径 容器id:docker容器中配置文件路径 docker cp /home/my.cnf mysql:/etc/mysql/my.cnf
复制

4. 重启容器

方法二:

运行命令 docker inspect [CONTAINER ID] ,可以找到如下的内容

看到MergedDir:

cd到 MergedDir , 你会惊奇的发现,他和我们容器里的目录结构是一样的.

直接在宿主机使用 cd命令进入即可

例如:

[root@localhost config]#  cd /var/lib/docker/overlay2/0c3984f51e45c7c6d3cf12ff962ebea16692a69c6a7d17f6eec41faff084a9fb/merged
[root@localhost merged]# ls
bin  boot  dev  etc  home  kafka  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost merged]# 

如果提示没有此目录,可能merged文件夹没有,有的容器的结构不一样,所以我们只进入一下路径看一看

/var/lib/docker/overlay2/0c3984f51e45c7c6d3cf12ff962ebea16692a69c6a7d17f6eec41faff084a9fb

然后可以在当前路径下看到几个目录,都进入看看测试一下,有次我进入的文件夹是diff,而不是merged

这样我们就可以在前者中,也就是在容器已经 "exit" 的情况下,修改容器中的配置文件, 修改完成后重启容器.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值