十一、Docker容器的数据管理
-
数据卷
-
为容器添加数据卷
-
为数据卷添加访问权限
-
ro: 只读的权限
-
使用Dockerfile构建包含数据卷的镜像
-
数据卷容器
(1)docker run -it --name dvt4 dormancypress/dvt
(2)docker run -it --name dvt4 --volumes-from dvt4 ubuntu /bin/bash
(3)docker run -it --name dvt6 --volumes dvt4 ubuntu /bin/bash
查看数据卷信息:
docker inspect --format="{{.volumes}}" dvt5
-
数据卷的备份和还原
十二、实现跨主机容器连接
-
使用网桥实现跨主机容器连接
(1)环境准备
(2)网络设置
(3)Docker设置
(4)优缺点
-
使用open vSwitch实现跨主机容器连接
(1)open vSwitch简介
(2)原理
(3)环境准备
(4)操作过程
a. 建立ovs网桥:sudo ovs-vsctl add-br obr0
b. 添加GRE接口:sudo ovs-vsctl add-port obr0 gre0
c. 设置gre地址:sudo ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.59.104
remote_ip是另一台虚拟机的地址
d. 查看ovs设置状态:sudo ovs-vsctl show
e. 新建网桥:sudo brctl addbr br0
f. 为br0设置网络地址:sudo ifconfig br0 192.168.1.1 netmask 255.255.255.0
g. 为br0网桥添加ovs连接:sudo brctl addif br0 obr0
h. 查看当前网桥的连接状态:sudo brctl show
i. 用新建网桥代替docker0:sudo vim /etc/default/docker
j. 启动一个docker容器:docker run -it ubuntu /bin/bash
k. 以同样的方式配置另一台虚拟主机
l. 查看路由表:route
m. 添加路由信息:sudo ip route add 192.168.2.0/24 via 192.168.59.104 dev eth0
-
使用weave实现跨主机容器连接
(1)weave简介
(2)环境准备
(3)操作过程
a. 下载weave: sudo weget -o /usr/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
b. 添加可执行权限: sudo chmod a+x /usr/bin/weave
c. 启动weave: weave launch
实际起了一个docker容器
d. 查看容器
e. 以同样的方式在另一台机器上操作
f. 在另一台上启动weave: weave launch 192.169.59.103
后边跟的是第一台机器的ip地址
g. 通过weave启动一个容器,将i容器id传给c2: c2=$(weave run 192.168.1.2/24 -it ubuntu /bin/bash)
地址为启动容器的ip地址范围
h. 查看c2变量: echo $c2
i. 进入容器查看网络: docker attach $c2
j. 在第一台虚拟机上启动一个容器: weave run 192.168.1.10/24 -it --name wc1 ubuntu /bin/bash