Docker 容器中部署项目后一直重启原因排查
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 容器中部署项目后一直重启原因排查相关的知识,希望对你有一定的参考价值。
参考技术A docker部署的的项目,在jekins上启动后显示启动成功,但是服务始终发现不了,也无法使用,怀疑项目没有真正启动成功。于是使用 docker ps 命令 查看,如下图容器已经存在,但是在不停的重启之中,怀疑是不是内存不足的原因,使用 docker inspect --formate container-name 命令 查看详情情况:
这里报错的内容是我配置文件的一处地方,于是查看,定位到时yml配置风格有一个空格导致没有对齐,文件读取错误,修改后正常启动,访问正常,收获的教训就是,改动任何一个地方都要仔细检查,一个小空格也会耽误大量的时间
《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-compose部署redis容器及启动失败挂载失败等问题
Docker部署Docker-compose部署redis容器及启动失败挂载失败等问题