《Docker系列》Docker容器修改配置文件后,重启失败,如何修改配置并启动容器?

Posted DATA数据猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Docker系列》Docker容器修改配置文件后,重启失败,如何修改配置并启动容器?相关的知识,希望对你有一定的参考价值。

Docker容器修改配置文件后,重启失败,如何修改配置并启动容器?

docker部署的mysql容器,修改了my.cnf配置文件,重启的时候导致无法启动

通过查日志发现,配置文件中的binlog-db-db=hw写错了,应该是binlog-do-db=hw

这时候需要修改配置文件,才能启动,但是呢?容器又启动不了

这种情况可以通过两种方式处理

[root@zxy_master mysql03]# docker logs e1aa5d676710
2023-03-03 08:27:23+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.40-1.el7 started.
2023-03-03 08:27:23+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
        command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.uebX7jnPYr
        2023-03-03T08:27:23.657000Z 0 [ERROR] unknown variable 'binlog-db-db=hw'
2023-03-03T08:27:23.660333Z 0 [ERROR] Aborting
2023-03-03 08:27:52+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.40-1.el7 started.
2023-03-03 08:27:52+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
        command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.HmpBPq7emF
        2023-03-03T08:27:52.311118Z 0 [ERROR] unknown variable 'binlog-db-db=hw'
2023-03-03T08:27:52.314845Z 0 [ERROR] Aborting

方式一:查找跟docker容器映射的本地文件

docker inspect [容器ID]

查看容器详情时,主要关注Mounts处,可以查看到跟容器映射的本地文件,修改后即可成功启动。

我采用的是第二种方法,所以对方式一不做太多说明,可以自行尝试。

"Mounts": [
            
                "Type": "bind",
                "Source": "/zxy/apps/docker_mysql/mysql03/log",
                "Destination": "/var/log/mysql",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            ,
            
                "Type": "bind",
                "Source": "/zxy/apps/docker_mysql/mysql03/data",
                "Destination": "/var/lib/mysql",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            ,
            
                "Type": "bind",
                "Source": "/zxy/apps/docker_mysql/mysql03/conf",
                "Destination": "/etc/mysql/conf.d",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            
        ],

方式二:拷贝容器文件到本地,修改后再上传

# 1.复制容器文件到本地
[root@zxy_master data]# docker cp e1aa5d676710:/etc/my.cnf ./
# 2.修改错误项
[root@zxy_master data]# vim my.cnf
# 3.复制修改后文件到容器
[root@zxy_master data]# docker cp ./my.cnf e1aa5d676710:/etc/my.cnf
# 4.重启成功
[root@zxy_master data]# docker start e1aa5d676710
e1aa5d676710

以上是关于《Docker系列》Docker容器修改配置文件后,重启失败,如何修改配置并启动容器?的主要内容,如果未能解决你的问题,请参考以下文章

如何修改docker的nginx容器的配置

docker修改容器的端口容器名映射地址......

docker容器修改配置文件

Docker深入浅出系列 | 单节点多容器网络通信

38-Docker-修改docker容器启动命令

修改Docker容器启动配置参数