问题描述:想启动 1e 这个容器
在这里插入图片描述
在这里插入图片描述
start后,没有报错,但是就是启动不了…
在这里插入图片描述

原因

查看一下日志

docker logs 1e1b85322dfa

好家伙,虽然它运行命令的时候不报错,但是它运行错误信息写到日志里面去了,查看最新的日记信息看到。这句
在这里插入图片描述
因此,报错原因是: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

在这里插入图片描述
成功启动了容器。

然后我插入数据,之后再查看本地的挂载点/opt/mysql/conf和/opt/mysql/data是否有数据
在这里插入图片描述
在这里插入图片描述
本地的文件是存在的
在这里插入图片描述
这样的话,再创建一个容器,挂载在相同的文件夹,之前的数据也存在。

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数据库,如果之前的数据库存在,则再创建的数据库就连接不上了。。
在这里插入图片描述
我们把之前的容器关闭
在这里插入图片描述
再把我们后创建的容器打开
显示:
成功登录
在这里插入图片描述
查看数据表:
在这里插入图片描述
在这里插入图片描述
上一个容器创建的数据,到这个容器中也是存在的。成功。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐