Docker网络和存储卷
#bridge 桥接模式(默认模式),创建docker0网卡,每个容器都有一个自动分配的IP地址,建立虚拟局域网,容器剪ip+port通信,外部访问容器通过宿主机的IP+port。端口映射;
#host 主机模式,让容器直接使用主机的网络(ip地址和端口)
优点:网络效率最高,性能高,速度快
缺点:会占用主机端口
#none 无网络模式,不联网,没有IP
#Overlay Network 层叠网络,跨主机通信,VXLAN(隧道技术),容器的集群部署中使用该模式
#查看当前的docker网络
docker network ls
#创建docker网络,使用桥接模式
docker network create test-network -d bridge (指定模式)
#使用docker网络,启动容器时,指定--network参数
docker run -itd --network=test-network --name ubuntu-test ubuntu:latest
#将容器添加到docker网络中
docker network connect test-network 容器名称或ID
#当docker网络不再被使用时,可以删除
docker network rmtest-network
存储卷
docker 数据卷(Data Volume)是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于 Linux 的 mount 操作。
作用:数据卷创建、挂载、删除、数据共享
docker aolume create 数据卷名称
创建数据卷之后,默认会存放在目录:/var/lib/docker/volumes/数据卷名称/
直接指定系统目录作为数据卷
-v 系统目录:容器目录
#查看所有数据卷
docker volume ls
#创建数据卷
docker volume create test_volume
#在运行容器时直接挂载数据卷
docker run -itd --name nginx-test -p 8080:80 -v test_volume:/etc/nginx nginx:1.26
#多个容器共享一个数据卷
docker run -itd --name nginx-test-2 9090:80 -v test_volume:/etc/nginx nginx:1.26
#查看数据卷的详细信息
docker volume inspect test_volume
#当数据卷未被占用时,可以删除,一旦删除数据会丢失
docker volume rm test_volume