docker无法启动的解决方式

本文描述了在使用Docker创建MySQL容器时遇到的容器启动后立即停止的问题,以及尝试解决的步骤,包括检查端口冲突、使用top或ping命令保持容器运行等。最终解决方案是通过使用`docker run`命令,指定端口映射、容器名称,并设置环境变量MYSQL_ROOT_PASSWORD来创建并启动MySQL容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

基于docker的mysql容器创建。如果是其他容器,那么这个方法可能不适合你

遇到的问题

  1.使用 docker run -itd --name (名字) -p (端口映射) 镜像名字

        使用该命令创建容器。

  2.使用docker ps 命令看容器,发现并没有发现刚刚创建的容器

  3.原来是容器只是启动了很少一段时间,然后就停止了。

尝试的方法

  1.查看是否是端口冲突问题

      lsof -i tcp:3310 

   发现没有端口占用,因此排除该情况

  2.创建父进程

既然短暂的命令会导致容器运行完就结束,那就试试持续的长时间挂起的命令哈,比如top,ping之类的,所以把命令改成docker run --name docker-test -d learn/ping ping www.baidu.com就行了,或者直接启动挂起的容器,docker start learn/ping,容器id可以通过docker ps -a查看,然后执行docker ps你就会发现容器已经起来了,然后docker attach learn/ping进入容器的交互式界面,或者docker run -it learn/ping /bin/bash直接进入交互式界面,退出可以使用ctrl+d或者ctrl+c,或者ctrl+p + ctrl+q。(这种可以退出到宿主机,而保持container仍然在运行,通过docker ps可以看出)前一种方式退出了,容器也结束了,后一种方式,容器还会在后台运行。

这个是在网上看的别人的贴子解决方法,但是使用ping的时候会被提示ping命令无法被识别,该方法无效

3,使用sudo命令  仍无法解决。

我的方法

 经过查证,我使用如下命令进行创建容器,解决了问题

docker run -d -it --name (名字) -p (端口映射) -e MYSQL_ROOT_PASSWORD "123456(输入你的密码即可)" mysql:5.7

 

该方法仅供参考,不保证一定可以解决问题!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值