数据卷
多个docker共享数据卷
1 2 3 4 5 6 7 8
|
docker create -v /data --name v1 nginx
docker run --volumes-from v1 -itd --name nginx1 nginx /bin/bash docker run --volumes-from v1 -itd --name nginx2 nginx /bin/bash
|
数据备份
- 方案1
- 创建一个挂载数据卷容器的容器
- 挂载宿主主机本地目录作为备份数据卷
- 将数据卷容器的内容备份到宿主主机本地目录挂载的数据卷中
- 完成备份操作后销毁创建的数据卷容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| docker exec -it nginx1 /bin/bash
mkdir /data-tmp cd /data-tmp mkdir aa bb cc dd
exit
mkdir /backup
docker run --rm -v /backup/:/backup/ nginx tar -zxPf /backup/data.tar.gz /data-tmp
|
网络管理
bridge模式
Docker的默认模式,它会在docker容器启动时候,自动配置好自己的网络信息,同一宿主机的所有容器都在一个网络下,彼此间可以通信。类似于我们vmware虚拟机的桥接模式。利用宿主机的网卡进行通信,因为涉及到网络转换,所以会造成资源消耗,网络效率低。
host模式
容器使用宿主机的ip地址进行通信,使容器和宿主机共享网络,本身没有ip地址。没有端口映射
container模式
新创建的容器间使用,使用已创建的容器网络,类似一个局域网。容器和容器共享网络
none模式
最纯粹模式,不会做任何网络配置,可以最大限度的定制化,不提供网络服务,容器启动后无网络连接
overlay模式
容器彼此不再同一网络,而且能互相通行。
端口映射
1 2 3 4 5 6 7 8 9
| docker run -d -P nginx
docker run -d -p 0.0.0.0:808:80 nginx docker run -d -p 10086:80 -p 10000:80 nginx
|
创建网络
1 2 3 4 5
| docker network create --driver bridge bridge-test
docker network create --driver bridge --gateway 172.99.0.1 --subnet 172.99.0.0/16 bridge-test
|
网络使用
1 2 3 4 5 6 7 8 9 10
| docker run --net=bridge-test -itd --name nginx1 nginx
docker network disconnect bridge-test nginx1
docker network connect bridge-test nginx1
|
Dockerfile