为什么 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 stopsudo 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