我有一个容器(我正在使用这个容器https://hub.docker.com/_/mysql/)之前已经开始使用ID 5f96e9570d1b1475a888d7a615acdd9a7715c1ed6f0c40900f2e9c1ab485c7cf,但现在我该如何重新启动呢?我尝试了这个命令,但没有工作
$ docker run --name mysql -e MYSQL_ROOT_PASSWORD=*Abcd1234 -d mysql:5.7
D:\CWindow10\Docker Toolbox\docker.exe: Error response from daemon: Conflict. The container name "/mysql" is already in use by container "5f96e9570d1b1475a888d7a615acdd9a7715c1ed6f0c40900f2e9c1ab485c7cf". You have to remove (or rename) that container to be able to reuse that name.
See 'D:\CWindow10\Docker Toolbox\docker.exe run --help'.
如果我删除容器并重新键入命令,旧数据是否仍然存在于新容器中?
答案 0 :(得分:1)
要重新启动现有容器,只需运行docker start <container_name_or_id>
即可。
关于数据:docker使用volumes的概念来放置数据。对于mysql图像,有一个部分&#34;在哪里存储数据&#34;在docker hub站点上。如果您没有手动声明图像应该去的位置,docker会为您创建一个。如果您希望保留数据,最简单的方法是创建一个文件夹并告诉docker run
命令映射该卷。这样,如果你扔掉容器,你仍然可以使用它。
答案 1 :(得分:0)
使用此命令重新启动容器docker restart <CONTAINER>
启动新容器不会保留您的数据,除非您已在其上安装外部卷和存储数据。请查看此博客http://blog.arungupta.me/docker-mysql-persistence/