数据管理
容器中的数据管理主要有两种方式,数据卷(Data Volumes)和数据卷容器(Data Volume Containers)
数据卷
数据卷是一个可以供容器使用的特殊目录,可以使用类似mount方式挂载目录或文件.对挂接文件的修改会影响到文件的inode,导致容器运行异常,所以建议直接挂载目录的方式挂载数据卷
- 数据卷可以在容器中共享和重用
- 对数据卷的修改立即生效
- 对数据卷更新不会影响镜像
- 卷会一直存在,知道没有容器使用.
在docker run 的时候,可以使用-v标记在容器内创建一个数据卷,可以多个-v联合使用创建多个数据卷.
docker run -d -v /machine/webapp:/container/webapp -v /machine/webdata:/container/webdata
就是将宿主机的machine下webapp,webdata映射到容器内部的container目录下的webapp和webdata
数据卷容器
容期间共享持续更新数据的最简单方式是使用数据卷容器.数据卷容器是一个普通的容器,专门为他提供了挂接到其他容器的方法.
1.创建数据卷容器
docker run -it -v /dbdata --name dbdata imagename
2.挂接数据卷容器
docker run -it --volumes-from dbdata --name db1 imagename
docker run -it --volumes-from dbdata --name db1 imagename
--volumes-from 挂接dbdata中的数据卷
删除挂载的容器,如dbdata、db1、db2,数据卷不会自动删除,必须在删除最后一个挂载他的容器显示使用docker rm -v 命令来指定同时删除关联的容器。
数据卷可以备份、可以恢复。此部分待议。
网络基础配置
docker公开连接方式
环境变量
更新/etc/hosts文件
端口映射实现访问容器
从外部访问容器
docker run -it -p (127.0.0.1:)81:80 webapp
将主机的指定的ip(127.0.0.1)和指定的端口(81)映射到容器的80端口。
docker run -it -p 127.0.0.1:80 webapp
省略端口,则将对主机的任意端口访问都映射到容器的80端口。
docker run -it -p (127.0.0.1:)81:80/udp webapp
指定udp通信协议
容器互联实现容器间通信
docker在两个互联的容器之间创建一个安全通道,不用映射到宿主机的端口上,相对安全。
docker run -d --name db dockerdb
docker run -d -P --name web --link db:db web
--link表示将2个容器连接起来,参数的格式为--link 容器id:alias,alias为别名。
网友评论