您现在的位置是:首页 >技术教程 >docker 网络网站首页技术教程

docker 网络

宇航员殿 2024-08-17 00:01:02
简介docker 网络

docker 的数据管理

1.数据卷 挂载

docker run -itd --name c3 -v /var/www:/data nginx:1.15

-v /var/www 是宿主机的目录  

:/data  是容器的挂载点

在宿主机 www 底下写文件,容器data下面实时收到文件 ,互相都可以实时写数据,收到对方的信息

用-v 挂载一个目录,指定容器和宿主机怪哉到同一个目录当中,就可以实现文件同时性

文件也可以挂载 docker run -itd --name c3 -v /var/www/lcy.txt:/lcy nginx:1.13

  2. 数据卷容器

经过宿主机,容器和容器之间共享数据

docker run -itd --name c1 -v /data1 -v /data2 nginx:latest

-v /data1 -v /data2  是在c1容器上创建data1 和data2 目录

 docker run -itd --volumes-from c1 --name c2 nginx:latest

--volumes-from c1 是指定c1的目录挂载到 c2 上

容器映射

需要在这里写一个转发的ipv4

 vim /etc/sysctl.conf

net.ipv4.ip_forward =1
 

 

docker run -itd --name test3 -p 1300:80 soscscs/myapp:v1 

-p #指定映射端口

-P #随机映射端口(从32768开始

iptables -nL -t net 查看映射端口

curl http://192.168.86.40:1300 ping的命令

 

 

#Docker 网络实现原理
Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的 Container-IP 直接通信。

Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接通过 Container-IP 访问到容器。如果容器希望外部访问能够访问到,可以通过映射容器端口到宿主主机(端口映射),即 docker run 创建容器时候通过 -p 或 -P 参数来启用,访问容器的时候就通过[宿主机IP]:[容器端口]访问容器。

docker run -d --name test1 -P nginx                    #随机映射端口(从32768开始)

docker run -d --name test2 -p 43000:80 nginx        #指定映射端口

容器互联

docker run -itd --name b2 --link b1:lcy soscscs/myapp:v1

--link 代表着新建的容器和指定的容器建立互联

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。