一般来讲 我们通过一个镜像 create 一个容器(create状态)然后start 这个容器 也可以合并成run(create+start)
然后通过docker exec -it 容器id /bin/bash 进入容器 比如进入mysql容器 创建一张表 或者 在外部创建一个文件
退出容器 停止容器 都不会删除这些数据 当你再次重启容器的时候 这些数据还在
不过当你删除这个容器的时候 里面保存的数据会随之消失 即便你又通过相同的镜像创建一个新的容器(你也知道是新的容器)
再进去 数据就没了
如果想持久化数据 可以通过volume数据卷的方式 将容器的目录映射到宿主机的目录
docker container run -d --name db --env MYSQL_ROOT_PASSWORD=123456 --env MYSQL_DATABASE=test -v /d/docker-demo/mysql-data:/var/lib/mysql mysql:5.7
比如 这个创建 并启动mysql容器的命令 将容器内Mysql存储数据的目录 挂载到宿主机的/d/docker-demo/mysql-data目录下
就算这个容器销毁了 但数据保存在宿主机中
下次再创建新的容器启动的时候 映射 相同 的目录即可实现 数据持久化