环境
基于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
该方法仅供参考,不保证一定可以解决问题!!!!!!