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