docker的mysql容器exited(1)无法正常启动

  问题:

使用docker 安装MySQL,容器正常启动,使用docker ps 命令查看,没有正在运行的容器,使用docker ps -a 查看所有,mysql 执行状态为exited(1),网上查了有很多种说法,都未能解决。

MySQL版本

创建实例并启动的命令如下:

docker run -p 3307:3306 --name mysql8 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.24

解决方法:

正常启动后,使用docker ps -a 查看执行状态

docker 容器正常启动后,是可以查看到启动日志的,使用docker logs 需要查看服务的id,如下:

Failed to access directory for --secure-file-priv. Please make sure that dir,这个问题网上有说是文件夹错误或权限问题,设置后并没有解决问题,后来查找发现可能是少创建my.conf文件,故在文件夹中添加配置文件:

my.conf 配置
创建my.cnf配置文件
touch /mydata/mysql/conf/my.cnf
 
my.cnf添加如下内容:
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
 
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8

重新创建实例并启动,使用docker ps 查看,状态为运行状态:

 

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: "Docker容器状态exited(1)" 意味着 Docker 容器已经停止并退出,并且它的退出代码为 1。退出代码是指当容器停止时返回给主机的状态码。 退出代码为1通常表示容器的应用程序已经出现了某种错误,导致容器停止。要了解更多有关容器为什么会停止的信息,您可以查看容器的日志。可以使用 "docker logs" 命令查看容器的日志,以确定导致容器退出的问题。 ### 回答2: Docker容器状态exited(1)表示容器在运行过程中出现了错误并退出了。这种状态可能由各种原因引起,包括应用程序中的漏洞、系统配置问题、资源不足等。 要解决该问题,可以首先查看容器的日志来了解错误信息。使用docker logs命令可以打印出容器的日志信息。如果日志中没有足够的信息帮助您确定问题,请考虑使用-d选项启动容器,以使其在后台运行并且不会立即退出。这样可以让您对容器进行进一步的调试。 在调试容器时,您还可以使用docker inspect命令来查看容器的详细信息。它将提供有关容器的环境变量、网络设置、进程ID以及其他有助于排除问题的信息。 如果您确定错误源于容器的应用程序,则可以考虑更换应用程序版本或更新应用程序配置。如果容器无法获取足够的资源来运行应用程序,则可以考虑增加容器的资源配额。 总之,Docker容器状态exited(1)是一个常见的错误状态,可能由多种原因引起。通过查看日志和容器信息,并进行相应的调试和修改,可以解决这种错误。 ### 回答3: Docker容器状态exited(1)通常表示容器已经停止运行,且容器的退出代码为1。退出代码表示容器的运行状态,其中0表示成功,而1表示失败。 在Docker中,容器的状态可以通过docker ps命令查看。如果容器状态为exited,说明该容器已停止运行。在这种情况下,可以使用docker container start命令重新启动容器。根据情况,也可以使用docker logs命令来查看容器日志,以确定为什么容器会失败。 同时,还应该分析容器的退出代码,以便确定容器的运行状态。如果容器的退出代码为1,则可能是由于某种错误或异常引起的,这可能需要进一步排查。可以先使用docker container inspect命令查看容器的详细信息,以便确定容器运行期间是否出现了任何异常。 最后,为了避免容器状态exited(1)的出现,建议在运行容器之前先检查容器的配置和参数是否正确,以及保证宿主机的资源足够支持容器的运行。并且要及时查看和记录容器的日志,及时响应和解决异常情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值