docker网络基础
一.
1. 默认情况下容器可以建立到外网网络的链接但是外网网络无法连接到容器
docker允许通过外部访问容器或容器互联的方式来提供网络服务
外部访问容器可以在容器中运行网络应用可以通过-p 或 -P参数来指定端口隐射。
-P:默认指定端口 -p自定义指定端口
2.dicker容器启动时会在宿主机上创建一个名为docker0的虚拟网络接口docker启动 一个容器时会根据docker0的网段划分容器的ip。每个docker容器是docker0的网关从 RFC1918定义私有地址。在私有地址中随机选择一个主机不用的地址和子网掩码并将它分 配给docker0。
3.docker0并不是一个正常的网络接口它只是一个绑定在其他网卡间自动转发数据包的虚 拟以太网桥它可以使容器与主机互相通信。
二.
1.创建一个docker工作目录
2.开启路由转发
3.在主机上生成ssh秘钥对
并创建authorized_keys
4.安装docker并启动docker
5.使用httpssh镜像生成
6.生成容器使用docker ps查看映射到容器使用-P端口映射
7.访问主机的32769端口即可访问ssh内部应用 主机IP地址192.168.1.100
查看容器运行的httpd进程
exit退出
访问本机32769端口即可访问容器内部web应用
8.-p可以指定要映射的端口而且在一个指定端口只可以绑定一个容器支持格式有
ip::hostPort:containerPort ip::containerPor hostPort: containerPor
容器有自己的内部网络和ip地址
-P标记可以多次使用来绑定多个端口
访问测试ssh和web
9.指定映射使用一个特定地址ip::containerPor格式
10.使用ip::containerPor绑定到任意80端口本地主机会自动分配一个口--name为启动容器自定义个容器名
也可以使用udp标示来指定udp端口
查看映射端口配置使用docker port也可以查看到绑定的地址