如何保存我的数据库在Docker容器重新启动mysql

我在Docker中运行mysql(Docker for Windows 1.12.6,不是docker工具箱)

docker run --name mysqldb -v /d/databases/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d -p 3306:3306 mysql:5.7 

当我第一次做完所有的事情都很棒。 如何将主机上的mysql和数据库目录的docker容器作为docker容器卷。

但是,当我尝试启动与命令docker start mysqldb启动容器阿甘docker start mysqldb我有错误从守护进程的错误响应:mkdir / d:文件存在错误:无法启动容器:mysqldb

我究竟做错了什么? 有没有什么办法来保存我的数据库之间的容器和docker重新启动?

UPD这是出docker ps -a

 3b5b6cb91107 mysql:5.7 "docker-entrypoint.sh" 9 hours ago Up 15 seconds 0.0.0.0:3306->3306/tcp mysqldb 

容器已经启动,但是卷/var/lib/mysql不再被挂载到主机目录。

 "Mounts": [ { "Source": "/d/databases/mysql", "Destination": "/var/lib/mysql", "Mode": "", "RW": true, "Propagation": "rprivate" } ], 

这有点奇怪,因为我用我的数据库容器执行相同的命令,它每次都工作正常。

 docker run --name main-database -e DB_HOST=asas -e DB_PORT=testing -p 3306 -v /home/mahesh/projects/django/tmp/mysql:/var/lib/mysql main/database 

你可以请上传的输出:

 docker ps -a 

请检查容器是否处于退出状态。

更新 :我能看到的是你的容器现在

我认为你应该重新开始:

请使用docker stop container-id

然后将其删除docker rm container-id

如果存在docker rmi image-id则删除映像

现在用--rm标志运行你的命令

 docker run --rm --name mysqldb -v /somedir_in_your_home/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d -p 3306:3306 mysql:5.7