9. docker中的网络基础配置

第九节 docker中的网络基础配置
1.大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通讯进行相互配合
Docker 目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务.
2.镜像----》运行成为容器(运行环境)-----》容器进程(主要的程序)
暴露的端口(ExposedPorts)-----》容器中系统环境对外开发的端口
进程----nginx进程------》监听80端口
3.容器中的进程并不会在宿主机内核中注册端口
4.运行容器----容器内的进程会监听容器内的端口-----这是个独立的空间----其他人无法访问
5.我们希望网络连接可以访问容器内的进程,就要让宿主机中的端口与容器内的端口关联起来,这样外部人员就可以通过端口访问到宿主机的内核,内核在去端口表中查找对应的端口,在将此信息,传递给容器进程。

9.1端口映射实现访问容器

1.从外部访问容器应用
在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络服务和应用的.
2.容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P(大写) 或 -p(小写) 参数来指定端口映射。
3.每个容器的端口都是独立的
4. 端口是用于转发的

9.2 映射端口命令

端口一般选择1024以上的数字

9.2.1 Docker run -p(小写)

1.使用docker -p(小写)命令
-----( ExposedPorts暴露)公开一个容器的端口到宿主机
在这里插入图片描述

2语法格式:
1)Docker run -p 宿主机端口:容器端口 镜像
2)Docker run -p 宿主机端口:容器端口 -p 宿主机端口:容器端口 镜像 --可以多个-p
功能描述:指定宿主机端口映射到容器端口
3)docker run -p 宿主机ip地址:宿主机端口:容器端口 镜像
功能描述:宿主机的指定IP的端口对应容器端口
4)docker run -p 宿主机ip地址::容器端口 镜像
功能描述:宿主机的指定IP的随机端口对应容器端口
2.例如1:
将宿主机的3000端口与容器的80端口关联
在这里插入图片描述
在这里插入图片描述

验证是否关联成功—在浏览器上让IP地址:宿主机端口执行查看效果
在这里插入图片描述

3.例如2:
将宿主机上的/tmp/testyyn1目录与nginx容器下的/usr/share/nginx/html目录做关联,并指定宿主机3500端口与容器暴露的80端口做关联
在这里插入图片描述在这里插入图片描述

验证是否关联成功----在浏览器上让IP地址:宿主机端口执行查看效果
在这里插入图片描述

4 例如3:
宿主端口对应容器上的端口
在这里插入图片描述
在这里插入图片描述

验证是否成功:
在这里插入图片描述
在这里插入图片描述

5.一个容器端口只能对应一个宿主机的IP的端口
在这里插入图片描述

6.映射过程:
可以先看容器的配置文件—》容器是否有注册的端口
或者也可以使用Docker inspect 容器 命令-----》查看容器的的详细信息-----》发现其暴露的端口— ExposedPorts暴露
假如发现某个容器的没有暴露的端口,说明其内部没有进程
比如:nginx容器的端口为80,registry容器的端口为5000

9.2.2 docker run -P(大写)

1.使用docker -P(大写)命令
-----公开所有的暴露的端口到随机的端口号------用到少
在这里插入图片描述

2.语法格式:
1)docker run -P 镜像
自动使用随机宿主机端口映射到所有容器暴露的端口
3.例如:
在这里插入图片描述

9.3 查看映射端口的配置命令

1.使用docker port来查看当前映射的端口配置,也可以查看绑定的地址.
在这里插入图片描述
2.语法格式: docker port 容器
3.练习:
在这里插入图片描述

9.4容器互联

1.使用–link 参数可以让容器之间安全的进行交互
在这里插入图片描述

2.语法格式:docker run –link 容器名:别名
–link 选项的格式为—link name:alias,
其中name是要链接的容器的名字,alias是这个连接的名字.
3.练习:创建了一个容器centos,然后又创建了容器web,并将web与centos进行链接,允许web容器访问centos容器的信息.

4.优点:
Docker 在两个互联的容器中创建了一个安全隧道,而且不用映射他们的端口到宿主主机,在启动centos容器的时候,并没有使用-p或者-P选项,从而避免了暴露数据库端口到外部网络上.
5.公开容器连接信息

  1. 环境变量
    需要进入到容器中执行env命令-----查看环境变量的名字
  2. 更新/etc/hosts文件
    进入到容器中查看/etc/hosts文件,看最后下面一行的地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值