我尝试将已创建的数据库从主机mydb挂载到mysql容器中,这是我尝试过的:
运行-v mysql-data:/var/lib/mydb/-name mysql_web -e MYSQL_ROOT_PASSWORD=12345 -p 3306:3306 -d mysql:5.7
root@ip-172-31-16-134:/var/lib/mysql# sudo docker run -v mysql-data:/var/lib/mysql/mydb/ --name mysql_web -e MYSQL_ROOT_PASSWORD=12345 -p 3306:3306 -d mysql:5.7
3c0a8eb588c0dd0d0b7b72a727912744f44e744e700de7efc64a0c4c1f651685
root@ip-172-31-16-134:/var/lib/mysql# docker exec -it mysql_web bash
Error response from daemon: Container 3c0a8eb588c0dd0d0b7b72a727912744f44e744e700de7efc64a0c4c1f651685 is not running但是,当我更改安装…的位置时,它会工作。
运行-v mysql-data:/var/lib/mydb/ -name mysql_web -e MYSQL_ROOT_PASSWORD=12345 -p 3306:3306 -d mysql:5.7
root@ip-172-31-16-134:/var/lib/mysql# sudo docker run -v mysql-data:/var/lib/mydb/ --name mysql_web -e MYSQL_ROOT_PASSWORD=12345 -p 3306:3306 -d mysql:5.7
06233eeb864c32ff16d6542e632a4da3ff6dfbd4a30fcc9aac8086dfc1245948
root@ip-172-31-16-134:/var/lib/mysql# docker exec -it mysql_web bash
root@06233eeb864c:/# cd /var/lib/mydb
root@06233eeb864c:/var/lib/mydb# exit
exit似乎它不能挂载到特定的文件夹,我不知道为什么,我只是希望两个数据库,一个来自主机,另一个来自容器,同步自己,而不是加载dump.sql每次当我启动一个新的容器。
任何建议都会有帮助,谢谢
发布于 2019-07-26 17:49:31
这是已知的问题,因为您得到了[ERROR] --initialize specified but the data directory has files in it. Aborting.错误
这里解释了这个错误意味着什么。
尝试一些类似的事情
--ignore-db-dir=lost+found,如提到的这里。/var/lib/mysql上挂载到容器路径,就像前面提到的docker run -v /path/to/mysql-data:/var/lib/mysql --name mysql_web -e MYSQL_ROOT_PASSWORD=12345 -p 3306:3306 -d mysql:5.7一样。希望这能有所帮助。
https://stackoverflow.com/questions/57216901
复制相似问题