docker学习笔记之数据管理
来源:互联网 发布:java单点登录解决方案 编辑:程序博客网 时间:2024/06/10 19:19
docker 的数据管理
前面对网络管理,也就是端口映射做了一些介绍,下来对数据的管理做做介绍,首先是数据卷,接着是数据卷容器。
数据卷
-v /data
-v src:dst
首先启动一个容器。
# docker run -it -h localhost --name volumes-test1 -v /data centos # -i 终端打开# -t 提供一个终端# -h 提供一个主机名# -v 数据卷 # --name 提供一个名字
进入容器之后就可以看到有一个data目录。
[root@localhost /]# ls /anaconda-post.log bin data dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var[root@localhost /]# ls -ld /datadrwxr-xr-x. 2 root root 6 May 19 02:54 /data[root@localhost /]# ls /data[root@localhost /]#
其实这个容器中的data目录被映射到了宿主机上的一个目录上。
查看这个目录。
# docker inspect -f {{.Volumes}} volumes-test1Template parsing error: template: :1:2: executing "" at <.Volumes>: map has no entry for key "Volumes"# docker inspect -f {{.Config.Volumes}} volumes-test1map[/data:{}]
很奇怪,不知道为什么报这样的错误。按照网上的做法,直接查看全局的信息。
# docker inspect volumes-test1|grep mounts -iA 10 "Mounts": [ { "Type": "volume", "Name": "a69026e729a8b176f840cf0313394016cb69356e02287c699d7858afdf67ce3d", "Source": "/var/lib/docker/volumes/a69026e729a8b176f840cf0313394016cb69356e02287c699d7858afdf67ce3d/_data", "Destination": "/data", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" }
由上可知,目录对应的是
/var/lib/docker/volumes/a69026e729a8b176f840cf0313394016cb69356e02287c699d7858afdf67ce3d/_data
那么,上面的那个目录其实写进什么东西,容器中的那个目录也会写入一些东西的。
复制一些东西进来。
# cd /var/lib/docker/volumes/a69026e729a8b176f840cf0313394016cb69356e02287c699d7858afdf67ce3d/_data# cp /etc/centos-release .
进入容器中查看。
# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESaf89cada0632 centos "/bin/bash" 11 minutes ago Exited (0) 7 minutes ago volumes-test1# docker start afaf# docker attach af[root@localhost /]# ls /datacentos-release[root@localhost /]# cat /data/centos-release CentOS Linux release 7.3.1611 (Core) [root@localhost /]#
看到了吧,目录映射了。
而 src:dst 就和网络映射一个道理,可以直接将真机的目录映射到容器中。
# docker run -d -h nginx --name nginx -p 8000:80 -v /var/www/html:/usr/share/nginx/html nginx37b798573793d33e531b6c50f9030371ca44e7c26c60405216f959722333c166
这里不但做了端口映射,还做了目录映射, 直接修改真机的 /var/www/html就可以直接改变容器中的发布页面了。
真机的apache和容器中的nginx。
[root@lol html]# curl localhost<h1>Hello,World</h1>[root@lol html]# curl localhost:8000<h1>Hello,World</h1>[root@lol html]#
内容是一样的。同步的。
[root@lol html]# curl -I localhostHTTP/1.1 200 OKDate: Fri, 19 May 2017 03:30:15 GMTServer: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.4.16Last-Modified: Fri, 19 May 2017 03:24:05 GMTETag: "15-54fd80db8b3dc"Accept-Ranges: bytesContent-Length: 21Content-Type: text/html; charset=UTF-8[root@lol html]# curl -I localhost:8000HTTP/1.1 200 OKServer: nginx/1.13.0Date: Fri, 19 May 2017 03:30:20 GMTContent-Type: text/htmlContent-Length: 21Last-Modified: Fri, 19 May 2017 03:24:05 GMTConnection: keep-aliveETag: "591e6555-15"Accept-Ranges: bytes
还可以直接只读挂载。
# docker run -d -h nginx --name nginx -p 8000:80 -v /var/www/html:/usr/share/nginx/html:ro nginx
开始第二种吧
数据卷容器
作用就是把先前挂载过的卷的容器的那个挂载点,再挂到新的容器上来。
# docker run -it --name volumes-test2 -h localhost --volumes-from volumes-test1 centos[root@localhost /]# ls /datacentos-release[root@localhost /]#
先前的那个volumes-test1 不是挂了一个/data吗?相当于容器之间可以共享。
阅读全文
0 0
- docker学习笔记之数据管理
- Docker学习笔记(五)Docker的数据管理
- Docker学习六:数据管理
- Docker学习笔记:容器数据管理,链接容器,构建私有库
- MongoDB学习笔记--数据管理
- 《Docker……》笔记-5 数据管理
- Docker学习笔记之ubuntu安装docker
- Docker 数据管理
- docker 数据管理
- Docker数据管理
- Docker数据管理
- Docker数据管理
- Docker 数据管理
- Docker 数据管理
- docker-数据管理
- docker数据管理
- docker数据管理
- Docker 数据管理
- nodejs学习过程
- Android复制粘贴详解
- Java日期格式转换
- springmvc与dubbo和zookeeper的配置关系
- 一个简单的复制文件的方法
- docker学习笔记之数据管理
- 勒索病毒WannaCry肆意攻击教育系统,几维安全再次对教育类APP进行全方位的安全评估! [APP安全报告第26期]
- Apache Beam是什么?
- 05 ffmpeg桌面图像h264编码并封装avi
- 数字货币开发专题(创世区块里藏着什么秘密)
- java常用集合效率测试
- Java基础编程2—邮件验证
- BOS项目
- 欢迎使用CSDN-markdown编辑器