容器无法正常启动如何修改配置文件?问题描述:由于配置文件错误导致容器运行异常,无法正常启动。通常只有进入容器才能修改配置文件。那么进不了集装箱怎么办?这种情况下,有两种修改方式:Docker容器的配置文件一般在/var/lib/docker/overlay/目录下,可以在该目录下找到对应的配置文件进行修改。将容器中的配置文件复制到宿主机中,修改后移动到容器中。方法1查询日志dockerlogsERROR:mysqldfailedwhiletryingtocheckconfigcommandwas:"mysqld--verbose--help"2020-09-03T12:15:54.644699Z0[ERROR]unknownvariable'realy-log=slave-relay-bin'2020-09-03T12:15:54.650119Z0[ERROR]Aborting从异常日志可以知道是因为我把relay-log写成realy,导致容器无法启动通常情况下。查找文件$find/-namemysqld.cnf/var/lib/docker/overlay2/02e1644bc1a4dc1adc9a0300e1815f364416570d69b715fb3b7de0a06cf0c495/diff/etc/mysql/mysql.conf.d/mysqld.cnf/var/lib/docker/overlay2/02e1644bc1a4dc1adc9a0300e1815f364416570d69b715fb3b7de0a06cf0c495/merged/etc/mysql/mysql.conf.d/mysqld.cnf/var/lib/docker/overlay2/4f128d7fb1200f722b0d2cfe3606149fe72987a7a16bc78551a2b1fe6c6c6572/diff/etc/mysql/mysql.conf.d/mysqld.cnf/var/lib/docker/overlay2/a68f1af4adf982b037f1bd37d61082fde1fa2b0e26ea0e2fe146edcb69b198ea/diff/etc/mysql/mysql.conf.d/mysqld.cnf这里可能有多个配置文件,这是因为Mysql容器每次重启都会保留一个配置文件,所以理论上直接修改第一个配置文件是Mysql目前使用的配置文件。修改配置文件,重启容器。方法二如果第一种方法不行,可以试试第二种方法。将容器中的配置文件复制到宿主机:#语法:dockercp<容器名称/容器id>:<容器中配置文件的路径><复制到宿主机的路径>$dockercpmysql:/etc/mysql/mysql.conf.d/mysqld.cnf~/mysqld.cnf修改host中的配置文件并将配置文件mv到容器中:#语法:dockercp:<配置文件在容器中的路径>$dockercp~/mysqld.cnfmysql:/etc/mysql/mysql.conf.d/mysqld.cnf重启配置文件即可。总结:这两种方法都可以有效解决以上问题。当然,这种方式只适用于由于配置文件错误导致容器无法正常启动的情况。参考链接Docker修改无法启动的容器的配置文件