我希望mysql将数据读写到我的RBD映像中。我使用rbd- docker -plugin将RBD从/mysql/加载到坞拔。
首先我试着
docker run -it --volume-driver=rbd --volume foo:/mnt/foo ceph/base bash
我在码头/mnt/foo中触摸"aa“文件,然后停止停靠,当我将foo安装到另一个坞"aa”文件时仍然存在。
然后我将我的代码添加到这个码头文件中
RUN mkdir -p /mnt/foo/mysql
RUN sed -i -e 's/\/var\/lib\/mysql/\/mnt\/foo\/mysql/g' /etc/mysql/my.cnf
VOLUME /mnt/foo/mysql然后从这个新的Dockerfile构建、运行docker
docker run -it --volume-driver=rbd --volume storage2/foo:/mnt/foo -e MYSQL_ROOT_PASSWORD=password [image_id]当我使用mysql容器时,我可以在/mnt/ foo /mysql中看到mysql (和"aa“文件)的数据,但是当我停止停靠并将foo挂载到另一个坞时,我看不到mysql的任何信息(但我仍然看到"aa”文件)。
最后我试着
docker run --name some-mysql --volume-driver=rbd --volume foo:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql但它的错误
错误致命错误:无法打开和锁定特权表:表'mysql.user‘不存在
发布于 2016-05-25 22:44:29
错误消息显示,mysql没有要读取的mysql文件。
问题是在安装mysql之后,您正在挂载分区,所以分区将为空。
解决方案:使用-初始化或初始化-不安全启动mysql。
http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html
https://stackoverflow.com/questions/33121613
复制相似问题