1.docker可以做IE浏览器的兼容性测试吗?
linux内核驱动不了IE,容器没有虚拟化内核,需要依靠宿主机(Linux)
内核=操作系统
同一个宿主机上不能使用docker做兼容性测试,因为docker只依赖宿主机的内核,即使在docker中装了对应的系统镜像那也只是软件,并没有对应的系统内核,所以最终还是依赖于宿主机。
2、docker常用的网络模式
- host网络模式:直接使用宿主机的网络,访问的时候使用容器的端口(--net=host)
docker run --name=nginx --net=host -d nginx:1.10.1
- container网络模式:可以解决打破容器之间网络隔离边界问题,实现容器之间网络共享,(--net=container:容器名or容器ID)
docker run --name=nginx -itd -p 80:80 nginx:1.10.1
docker run --name=mysql -itd --net=container:nginx mysql:3.1.3
- bridge网桥模式:-p 宿主机端口:容器端口(默认使用)
docker run --name=nginx -p 5000:80 -d nginx:1.10.1
- 在宿主机上使用iptables创建一个规则:凡是发送到宿主机的5000端口的网络请求,全部打开数据报文,将目的地址篡改成容器的IP地址+端口号。
- 当这个请求发送到宿主机的网卡的时候,宿主机打开报文发现不是发送给自己的IP地址,所以进行转发。