linux怎么查看本机内存大小
267
2022-10-27
Docker 学习笔记 - 持久化保存
当我们使用docker容器的时候,如何才能持久化的保存数据呢?或者把宿主机上数据发送给容器呢?
一般我们有三种方式。
第一种方式: docker container copy 可以把宿主机的文件拷贝到 容器上面。
举个例子:
新建一个nginx的容器,然后从宿主机拷贝一个xiaoniao的文件夹到html目录下
docker run -d -p 80:80 --name nginx nginx docker container cp xiaoniao nginx:/usr/share/nginx/html
第二种方式: docker -v 来挂载一个宿主机的目录到容器的目录
例如:我直接把/opt/xiaoniao 这个宿主机的目录挂载到容器的 /usr/share/nginx/html 目录下面。这样即使我删掉我的容器,重新新建一个,只要挂载点一样,他仍然可以访问之前的内容
docker run -d -p 80:80 -v /opt/xiaoniao:/usr/share/nginx/html nginx
第三种方式: docker -v 来挂载一个卷,这个卷第一次挂载的时候,里面是空的,他会把容器里面对应的目录下的内容拷贝过来,然后之后如果我们对这个卷的内容进行了修改,他会自动把卷里面的内容拷贝回容器里
例如,执行下面的操作,挂载一个卷,然后我们可以查看这个卷的名字和目录,手动拷贝文件到这个目录下,然后再加载一个容器,这样的效果和第二种方式是一样的
docker run -d -p 80:80 -v xiaoniao:/usr/share/nginx/html nginx docker volume ls docker volume inspect docker volume inspect xiaoniao cd /var/lib/docker/volumes/xiaoniao/_data/ cp /opt/xiaoniao/* . -r
最后,我们还可以通过 --volumes-from 来挂载一个其他镜像的卷
比如我在上面的基础上,再创建一个容器,他的挂载点指向上一个容器的挂载卷
[root@ip-172-16-1-150 _data]# docker run -d -p 800:80 --volumes-from 6cf1bd32b83e nginx bc7ef21a9dfd42a345a0a5c8a2a0db6d887c0a6cfeb540ace5af965e71a6f6c1
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~