博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
管理应用程序数据
阅读量:4098 次
发布时间:2019-05-25

本文共 998 字,大约阅读时间需要 3 分钟。

将Docker主机数据挂载到容器


方式

  • volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。

  • bind mounts:可以存储在宿主机系统的任意位置。

  • tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统。

这里写图片描述

volume方式


管理卷

docker volume create nginx-voldocker volume lsdocker volume inspect nginx-vol

用卷创建一个容器

docker run -d -it --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginxdocker run -d -it --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx

清理

docker container stop nginx-testdocker container rm nginx-testdocker volume rm nginx-vol

注意:

1.如果没有指定卷,自动创建并随机生成一个名字,称为匿名卷。(与之前不同,之前是命名卷)

2.建议使用–mount,更通用。

3.容器删除了,只要数据卷不删除数据就不会丢失。

4.多个容器可以共享同一个数据卷,,从而实现高扩展性。

Bind Mounts


用卷创建一个容器

docker run -d -it --name=nginx-test --mount type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginxdocker run -d -it --name=nginx-test -v /app/wwwroot:/usr/share/nginx/html nginx

验证绑定

docker inspect nginx-test

清理

docker container stop nginx-testdocker container rm nginx-test

注意:

1.如果源文件/目录没有存在,不会自动创建,会抛出一个错误。(也就是src指定的文件或目录)

2.如果挂载目标在容器中非空目录,则该目录现有内容将被隐藏。

你可能感兴趣的文章
mac笔记本删除idea软件
查看>>
MongoDB4.2.0安装包并配上安装教程
查看>>
解决maven项目Oracle驱动报红,不能使用的问题。
查看>>
Mybatis批量跟新,XML不同写法的效率比较
查看>>
angular项目知识(一、DEMO创建与运行)
查看>>
MySql中用户变量实现依据某一字段,实现排名
查看>>
angular项目本地安装依赖所遇到问题记录
查看>>
前端项目noddeJS中按时间格式获取上一个月,
查看>>
POM文件org.apache.maven.archiver.MavenArchiver.getManifest错误
查看>>
continue关键字在java中的使用详解
查看>>
WRF安装及问题小记
查看>>
WRF ./real.exe时报错
查看>>
Scrapy安装问题
查看>>
Scrapy安装
查看>>
MongoDB安装及使用
查看>>
mysql安装与配置及Can't connect to MySQL server on localhost (10061)解决办法
查看>>
gensim安装教程
查看>>
python GENSIM训练word2vec流程及遇到问题详解
查看>>
Linux更新python方法及报错处理
查看>>
Python3中无法导入ssl模块的解决办法和python3.7 ModuleNotFoundError: No module named bz2解决办法
查看>>