docker网络基础

.

1. 默认情况下容器可以建立到外网网络的链接但是外网网络无法连接到容器

   docker允许通过外部访问容器或容器互联的方式来提供网络服务

   外部访问容器可以在容器中运行网络应用可以通过-p -P参数来指定端口隐射。

   -P:默认指定端口  -p自定义指定端口

2.dicker容器启动时会在宿主机上创建一个名为docker0的虚拟网络接口docker启动       一个容器时会根据docker0的网段划分容器的ip。每个docker容器是docker0的网关从                      RFC1918定义私有地址。在私有地址中随机选择一个主机不用的地址和子网掩码并将它分    配给docker0

3.docker0并不是一个正常的网络接口它只是一个绑定在其他网卡间自动转发数据包的虚          拟以太网桥它可以使容器与主机互相通信。

.

1.创建一个docker工作目录

docker 容器网络绑定端口部署_数据包 

2.开启路由转发

docker 容器网络绑定端口部署_网络服务_02 

3.在主机上生成ssh秘钥对

docker 容器网络绑定端口部署_网络服务_03 

并创建authorized_keys

docker 容器网络绑定端口部署_网络服务_04 

4.安装docker并启动docker

docker 容器网络绑定端口部署_网络应用_05 

5.使用httpssh镜像生成

docker 容器网络绑定端口部署_网络应用_06 

6.生成容器使用docker ps查看映射到容器使用-P端口映射

docker 容器网络绑定端口部署_网络服务_07 

7.访问主机的32769端口即可访问ssh内部应用   主机IP地址192.168.1.100

docker 容器网络绑定端口部署_网络服务_08 

docker 容器网络绑定端口部署_数据包_09 

查看容器运行的httpd进程

docker 容器网络绑定端口部署_数据包_10 

exit退出

访问本机32769端口即可访问容器内部web应用

docker 容器网络绑定端口部署_网络服务_11 

8.-p可以指定要映射的端口而且在一个指定端口只可以绑定一个容器支持格式有

ip::hostPort:containerPort   ip::containerPor  hostPort: containerPor

容器有自己的内部网络和ip地址

-P标记可以多次使用来绑定多个端口

docker 容器网络绑定端口部署_网络应用_12 

访问测试sshweb

docker 容器网络绑定端口部署_网络服务_13 

docker 容器网络绑定端口部署_网络服务_14 

docker 容器网络绑定端口部署_数据包_15 

9.指定映射使用一个特定地址ip::containerPor格式

docker 容器网络绑定端口部署_数据包_16 

10.使用ip::containerPor绑定到任意80端口本地主机会自动分配一个口--name为启动容器自定义个容器名

docker 容器网络绑定端口部署_网络服务_17 

也可以使用udp标示来指定udp端口

查看映射端口配置使用docker  port也可以查看到绑定的地址

docker 容器网络绑定端口部署_网络应用_18