docker 数据卷volume
由来,主要基于三点:
- 宿主机没发很方便的访问容器中的文件;
- 容器之间文件无法共享;
- 容器删除时,容器产生的数据将丢失。
docker引入了数据卷(volume)机制 ----- 默认local这种volumedriver,即利用宿主机文件系统为容器提供volume.
命令行使用方式
-
创建volume
docker volume create
或者docker run -v
- docker volume create --name test 创建了指定名字的volume;
- docker run -itd -v /data ubuntu /bin/bash 创建一个随机名字的volume挂载到容器/data目录下;
- docker run -itd -v vol-test:/data ubuntu /bin/bash 创建名为vol-test的volume到容器/data目录下。
[root@nxl-test ~]# docker run -itd -v vol-test:/data --name test-ubuntu ubuntu /bin/bash 7b991a8784432b2f7d3a11237ada8d918a8a77d986ba4d71084b186c4ebe6943 [root@nxl-test ~]# docker volume inspect vol-test [ { "CreatedAt": "2020-03-23T23:16:44+08:00", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/vol-test/_data", "Name": "vol-test", "Options": null, "Scope": "local" } ]
volume创建成功后,数据一般默认在宿主机/var/bin/docker/volumes/vol-test/_dat中,可以通过
docker volume inspect vol-test
查看。 -
挂载volume
- docker run -itd -v /host/file:/container/data --name test-ubuntu ubuntu /bin/bash 将单个主机文件/home/file挂载到容器/container/data目录下。
- docker run -itd -v /host/dir:/container/data --name test-ubuntu ubuntu /bin/bash将主机文件夹挂载到容器/container/data目录下。
- docker run -itd -v /host/dir:/container/data:Z --name volume_unshared ubuntu /bin/bash
Z
只读。 - 多个-v 挂载多个volume
-
dockerfile
VOLUME /data VOLUME ["/data1","/data2"] -
共享volume
- –volumes-from [容器1] --volumes-from [容器2]
-
删除volume
- docker volume rm [volume_name]
- docker rm -v [container_name]
- docker run --rm,如果volume其他容器没有共享,容器停止时删除volume,且不会对命名了的容器进行删除。
docker 网络
网桥 下载 bridge-utils linux网桥管理和查看工具
brctl show
查看网桥和管理网桥
route -n
查看路由情况
iptables-save
查看iptables规则