1、docker网络模式:有如下五种:
host模式(--net=host) container模式 none模式(--net=none) bridge模式(--net=bridge)
host模式: 需要使用docker run是指定: --net=host 使用的网络实际上和宿主机是一样,在容器内的IP和宿主机的IP是一样,类似于vmare桥接模式;
container模式:使用 --net=container:container_id/container_name,多个容器使用共同的网络,看到的IP是一样的;
none模式: --net=none 这种模式下,不会配置任何网络;
bridge模式:--net=bridge,不指定是默认也是这种模式,这种模式会为每个容器分配一个独立的network 网卡,同一个宿主机是在同一个网段下可以通信的,类似于 VMware 的 NAT模式;
2、docker网络及从外部访问容器: 创建了容器之后,并在容器部署了httpd web服务,容器会有一个私网地址172.17.0.2,那么也只能容器内部访问网站,如果要是想让别的主机或者外网可以访问这个web 网站,那要怎么做呢;
首先新建一个容器,然后在该容器内安装 httpd 服务,并启动;
docker run -itd fenye yum install -y epel-relase nginx service httpd start
然后把该容器导出一个新的镜像(centos-httpd),然后在使用新镜像创建容器,并指定端口映射(把容器的80端口映射为本地的5123端口)