docker start启动容器不报错,却无法正常启动

问题描述:想启动 1e 这个容器
docker start启动容器不报错,却无法正常启动_第1张图片
docker start启动容器不报错,却无法正常启动_第2张图片
start后,没有报错,但是就是启动不了…
docker start启动容器不报错,却无法正常启动_第3张图片

原因

查看一下日志

docker logs 1e1b85322dfa

好家伙,虽然它运行命令的时候不报错,但是它运行错误信息写到日志里面去了,查看最新的日记信息看到。这句
docker start启动容器不报错,却无法正常启动_第4张图片
因此,报错原因是:chown: changing ownership of ‘/var/lib/mysql/’: Permission denied
解决办法:在docker run中加入 –privileged=true 给容器加上特定权限

docker run -d -p 3309:3306 -v /opt/mysql/conf:/etc/mysql/conf.d -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mymysqlFour --privileged=true mysql:5.7

docker start启动容器不报错,却无法正常启动_第5张图片
成功启动了容器。

然后我插入数据,之后再查看本地的挂载点/opt/mysql/conf和/opt/mysql/data是否有数据
docker start启动容器不报错,却无法正常启动_第6张图片
docker start启动容器不报错,却无法正常启动_第7张图片
本地的文件是存在的
docker start启动容器不报错,却无法正常启动_第8张图片
这样的话,再创建一个容器,挂载在相同的文件夹,之前的数据也存在。

docker run -d -p 3310:3306 -v /opt/mysql/conf:/etc/mysql/conf.d -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mymysqlFive --privileged=true mysql:5.7

在这里插入图片描述
但是连接显示错误
原因是一个本地的文件只能连接一个mysql数据库,如果之前的数据库存在,则再创建的数据库就连接不上了。。
在这里插入图片描述
我们把之前的容器关闭
docker start启动容器不报错,却无法正常启动_第9张图片
再把我们后创建的容器打开
显示:
成功登录
docker start启动容器不报错,却无法正常启动_第10张图片
查看数据表:
docker start启动容器不报错,却无法正常启动_第11张图片
docker start启动容器不报错,却无法正常启动_第12张图片
上一个容器创建的数据,到这个容器中也是存在的。成功。

你可能感兴趣的:(JAVA项目bug总结,mysql,数据库,java)