如果没有使用数据卷,退出容器是不会保存数据的,重新启动后会重置。所以我们需要用数据卷来进行数据的保存。
创建数据卷
# docker volume create data
查看所有数据卷
# docker volume ls
查看数据卷信息
# docker volume inspect data
里面的“Mountpoint”是你主机的地址,可以cd进去看看。
启动挂载数据卷的容器
使用--mount
挂载到容器。并加载一个数据卷到容器的/testdemo目录。
启动容器
# docker run -d -P \
--mount source=data,target=/testdemo \
test:v1
source:数据卷名
target:容器内路径
备注:如果没有配置暴露端口,-P
改成-p 端口:端口
,详细搜索run
的参数。
切换至主机终端,为方便测试,需开启另一个终端。
# cd /var/lib/docker/volumes/data/_data
是什么都没有的。
测试
进入容器后在/testdemo里新增一个文件,加入数据(可选)
# docker exec -it 容器id bash
# cd /testdemo
# touch a
# echo 'weikaixxxxxx' >> a
切换至主机终端
我们将看到新增的文件a
删除数据卷,docker 不会在容器被删除后自动删除数据卷
# docker volume rm data