docker 安装mysql数据挂载问题
请问自己在docker里安装mysql,如何正确的将/var/lib/mysql
挂载到宿主上.
dockerfile
FROM ubuntu
RUN apt update
RUN DEBIAN_FRONTEND=noninteractive apt install -y mysql-server
VOLUME ["/var/lib/mysql"]
启动docker容器
docker run -d --name testmysql -p 3306:3306 -v ${PWD}/mysqldata:/var/lib/mysql newwc /usr/bin/mysqld_safe
报错内容:
root@eeec3ed3027d:/# mysqld_safe
2016-05-02T01:51:27.698266Z mysqld_safe Logging to syslog.
2016-05-02T01:51:27.699688Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2016-05-02T01:51:27.729604Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
2016-05-02T01:51:30.072664Z mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是不是你commit的时候容器没有stop,导致pid的问题啊。。。只是喵过docker的猜测
我用dockerhub上的mysql镜像,命令是这样的:
sudo docker run --name=mysql -d -e 'MYSQL_ROOT_PASSWORD=111' -e 'DB_REMOTE_ROOT_NAME=root' -e 'DB_REMOTE_ROOT_PASS=111' -p 3306:3306 -v /opt/mysql/default:/var/lib/mysql mysql
我仔细看了一下你的命令,是不是启动脚本/usr/bin/mysqld_safe对环境有什么要求,没有被满足?比如我设定了密码,而你没有?
提供个思路,仅供参考,这个要不断的试验才能找到原因,呵呵!