Docker容器重启后数据是否丢失取决于数据的存储位置和方式:
容器内部存储的数据:
未挂载的临时数据:
docker run --rm
选项启动的临时容器,重启后会被完全删除使用数据卷(Volumes):
docker volume create myvolume
docker run -v myvolume:/path/in/container
绑定挂载(Bind Mounts):
docker run -v /host/path:/container/path
tmpfs挂载(内存文件系统):
docker run --tmpfs /tmp
docker-compose
时可以方便地定义持久化存储version: '3'
services:
db:
image: mysql
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
这样即使容器重启或重建,数据也不会丢失。