为什么 MariaDB 数据在我的 Docker 容器中持久存在?我没有任何卷
Why is MariaDB data persistent in my Docker container? I don't have any volumes
我有一个安装了 MariaDB 的 Docker 容器。我没有使用任何卷。
[vagrant@devops ~]$ sudo docker volume ls
DRIVER VOLUME NAME
[vagrant@devops ~]$
现在发生了一些奇怪的事情。当我执行 sudo docker stop
和 sudo docker start
时,MariaDB 数据仍然存在。我预计这些数据会丢失。
顺便说一下,当我编辑某些文件时 /etc/hosts
我确实看到了预期的行为。重新启动后对此文件的更改将丢失。
MariaDB 数据如何在没有卷的情况下持久化?这不应该发生吧?
docker stop
不会删除容器,docker start
也不会创建容器。
docker run
从图像创建 新容器。
docker start
启动一个确实存在但之前已停止的容器(如果您愿意,可以将其称为 pause/resume )。
因此,start/stop 不需要卷来保持状态持久。
如果你虽然做了 docker stop <name> && docker rm <name>
然后 docker start <name>
你会得到错误,容器不再存在 - 所以现在你需要 docker run <args> youimage
我有一个安装了 MariaDB 的 Docker 容器。我没有使用任何卷。
[vagrant@devops ~]$ sudo docker volume ls
DRIVER VOLUME NAME
[vagrant@devops ~]$
现在发生了一些奇怪的事情。当我执行 sudo docker stop
和 sudo docker start
时,MariaDB 数据仍然存在。我预计这些数据会丢失。
顺便说一下,当我编辑某些文件时 /etc/hosts
我确实看到了预期的行为。重新启动后对此文件的更改将丢失。
MariaDB 数据如何在没有卷的情况下持久化?这不应该发生吧?
docker stop
不会删除容器,docker start
也不会创建容器。
docker run
从图像创建 新容器。
docker start
启动一个确实存在但之前已停止的容器(如果您愿意,可以将其称为 pause/resume )。
因此,start/stop 不需要卷来保持状态持久。
如果你虽然做了 docker stop <name> && docker rm <name>
然后 docker start <name>
你会得到错误,容器不再存在 - 所以现在你需要 docker run <args> youimage