docker网络访问和端口映射

news2025/1/10 1:25:46

docker网络访问和端口映射

文章目录

  • docker网络访问和端口映射
    • 1.docker容器网络
      • 1.1.创建一个centos7的容器
      • 1.2.docker网络原理图
    • 2.端口映射
      • 2.1.创建一个新的IP
      • 2.2.多个IP端口映射
      • 2.3.随机端口命令

1.docker容器网络

指定映射(docker 会 自动添加一条iptables规则来实现端口映射)

查看容器地址方法一

1.先启动ngninx
[root@localhost ~]#docker run -d -p 80:80 nginx

2.获取一下容器ID
[root@localhost ~]# docker ps -a -l
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
2ee29832f5a8   nginx     "/docker-entrypoint.…"   13 minutes ago   Up 13 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   angry_ptolemy

3.查看容器的IP地址
[root@localhost ~]#docker container inspect 2ee29832f5a8

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6jpgWrWP-1683532630391)(D:\linux笔记总结\docker\docker网络访问.assets\image-20230327220036776.png)]

可以通过登录容器的方式查看

方法二

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                               NAMES
eb44dfc7d112   centos    "tail -f /etc/hosts"     7 minutes ago   Up 7 minutes                                       bold_swirles
cfbe1c462bf3   nginx     "/docker-entrypoint.…"   8 minutes ago   Up 8 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   eloquent_mirzakhani
[root@localhost ~]# docker exec -it cfbe1c462bf3 bash
root@cfbe1c462bf3:/# hostname -I
172.17.0.2 

1.1.创建一个centos7的容器

创建一个centos容器  加tail -f /etc/hosts可以保持容器不会挡掉,可以吭住。
[root@localhost ~]#docker run -it centos tail -f /etc/hosts

使用交互的方式进入容器
[root@localhost ~]#dokcer exec -it a2d38c870ca7 /bin/bash

可以尝试centos系统是可以上网的,我们来curl一下百度。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i8RFCflf-1683532630392)(D:\linux笔记总结\docker\docker网络访问.assets\image-20230327223109377.png)]

1.2.docker网络原理图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kvD6Z0SQ-1683532630393)(D:\linux笔记总结\docker\docker网络访问.assets\image-20230327222139184.png)]启动docker之后会自动生成一个docker0的网卡。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sWuM4flV-1683532630393)(D:\linux笔记总结\docker\docker网络访问.assets\image-20230327222218733.png)]

后面每启动一个容器都会增加veth开头的网卡,veth下面对接容器的地址,veth网卡进行上联docker0的网卡,然后通过内核的转发实现容器的功能。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o2DwWEpm-1683532630394)(D:\linux笔记总结\docker\docker网络访问.assets\image-20230327222337954.png)]

2.端口映射

把容器的端口映射到物理机本身的端口

把本机的81端口映射到容器nginx的80端口

[root@localhost ~]# docker run -d -p 81:80 nginx
49db108fc63ac4132e3c02f254c119c72006558369befeb3c9d0fbed2296d196

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xIpcZYgG-1683532630394)(D:\linux笔记总结\docker\docker网络访问.assets\image-20230327225330607.png)]

可以看到添加端口映射后新增加的防火墙规则

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lGjGJsrW-1683532630395)(D:\linux笔记总结\docker\docker网络访问.assets\image-20230410151908331.png)]

2.1.创建一个新的IP

[root@localhost ~]# ifconfig ens33:1 192.168.40.10/24 up

2.2.多个IP端口映射

在原来IP地址192.168.40.5和10分别启动一下80端口

如果多个容器都想使用80端口就可以使用这样的方式进行创建一个ip

[root@localhost ~]#docker run -d -p 192.168.40.5:80:80 nginx:latest

[root@localhost ~]#docker run -d -p 192.168.40.10:80:80 nginx:latest

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4J29kR8d-1683532630395)(D:\linux笔记总结\docker\docker网络访问.assets\image-20230410170758104.png)]

2.3.随机端口命令

[root@localhost ~]# docker  run  -d   -P
-P大写的P创建容器会出现随机端口
[root@localhost ~]# docker  run  -d   -P

-P大写的P创建容器会出现随机端口
随机端口
随机端口默认从32768开始,内核默认指定的可以修改

[root@localhost ~]#  sysctl -a | grep ipv4|grep range
net.ipv4.ip_local_port_range = 32768 60999

扩展:nginx负载均衡与后端服务器连接时也使用随机端口,因此最多可以支持5w个并发,想增大并发量就是多增加几个ip,在dns上面设置例如华北用户走这个ip,华南用户走下一个ip,这样并发就高了,cdn也是这种原理。

扩展:nginx负载均衡与后端服务器连接时也使用随机端口,因此最多可以支持5w个并发,想增大并发量就是多增加几个ip,在dns上面设置例如华北用户走这个ip,华南用户走下一个ip,这样并发就高了,cdn也是这种原理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502625.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wisp5.0 学习日记2

学习日记 昨天的报错尝试1,在CCS中设置USB FET尝试2 csdn解决方案1尝试3 查看仿真器的驱动是否安装成功 昨天的报错 MSP430: Error initializing emulator: No USB FET was found 尝试1,在CCS中设置USB FET 打开CCS,选择“Window” -> …

在线文档编辑工具哪个更好?

在线文档编辑工具相当于一个轻量级、跨平台、多途径的Office。使用在线文档编辑工具,首先我们不用安装Office软件;其次在电脑网页上、手机小程序里我们都可以使用在线文档进行简单的编辑;最后我们编辑的文档可以实时更新、分享、协作等。今天…

供应商标准化管理难?云时通助力国药器械成功打造医疗器械行业SRM管理平台!

中国医疗器械有限公司(CMDC,简称“国药器械”),始建于1966年,隶属于国药集团,是其医疗器械板块的主力军。国药器械有分子公司300家左右,年销售额300多亿,国内最大的医疗器械商业流通企业,产品覆盖医疗器械所…

软件测试简历?面试题?企业面试官想要什么?我不再和offer失之交臂...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 软件测试面试题简历…

vivado跨时钟域路径分析

若要查看跨时钟域路径分析报告,可选择以下内容之一来查看: A, Reports > Timing > Report Clock Interaction B, Flow Navigator > Synthesis > Report Clock Interaction C, Flow Navigator > Implementation > Report Clock Inte…

【网络安全】--win提权

win提权 提权目的提权常用命令提权实战常见的payload利用1. 安装虚拟机win2008和kali2. 创建普通用户3. 切换用户4. kali生成木马并发送到被攻击服务器上5. 被攻击方运行生成的木马文件7. 查看可利用漏洞8. 尝试利用exp提权 at/sc/ps命令提权at命令提权sc命令提权ps命令提权 提…

换个花样玩C++(8)吃不透内存布局,坑的是自己,万字经验告诉你类的内存布局

C++内存布局是老生常谈的话题,无论是笔试面试,都会涉及到该类问题,那么这一章节,我们就聊聊内存布局到底是怎么布局的,聊完之后我保证你仍然会回味无穷,并且我提供的几个例子也会让你再一步步踩入雷区。 C++程序的内存布局 C++的内存布局区域我们大体上分为四个:全局数据…

SubMain CodeIt.Right 2022.2 Crack

CodeIt.Right,从源头上提高产品质量,在编写代码时获取有关问题的实时反馈,支持最佳实践和合规性,自动执行代码审查,轻松避免与您的群组无关的通知,一目了然地了解代码库的运行状况 自动执行代码审查 使用自…

ICMP协议和NAT技术

文章目录 ICMP协议ICMP功能NAT技术NAT技术背景 ICMP协议 ICMP协议是一个网络层协议 一个新搭建好的网络, 往往需要先进行一个简单的测试, 来验证网络是否畅通; 但是IP协议并不提供可靠传输. 如果丢包了, IP协议并不能通知传输层是否丢包以及丢包的原因 ICMP功能 ICMP正是提…

K8s常见面试题19问

K8s常见面试题19问 收集了一些K8s常见问题和同学们面试常被问到的问题. 如果有新的面试题私聊或者留言给我 1. Docker和虚拟机有那些不同 虚拟化环境下每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统。 容器之间可以共…

什么叫用空间换时间,用时间换空间

什么叫做用空间换时间 用空间换时间是指为了提高程序或算法的效率,将计算机程序中的时间复杂度转化为空间复杂度,即通过使用更多的空间来减少程序运行所需的时间。这种技术在某些情况下可以大幅缩短程序的执行时间,但也会导致程序需要更大的…

【软件开发】大规模分布式系统的容错架构设计

大规模分布式系统的容错架构设计 假设有一个数据库,数据库里有一张特别大的表,里面有几十亿,甚至上百亿的数据。更进一步说,假设这一张表的数据量多达几十个 TB,甚至上百个 TB,那么如果用 MySQL 之类的数据…

功率信号源的作用是什么意思

功率信号源是指集信号发生器与功率放大器为一体的电子测量仪器,它具有高电压、大功率的特点,在电子实验室中能够帮助用来驱动压电陶瓷、换能器以及电磁线圈等,可以有效的帮助电子工程师解决驱动负载和放大功率的问题。同时,功率信…

使用python实现背单词功能,单词本存放在txt文件中,最后统计出回答的正确题数和错误题数。

一、编程题目 编程题目:使用python实现背单词功能,单词本存放在txt文件中,最后统计出回答的正确题数和错误题数。 单词本的内容如下: danciben.txt内容如下(按照格式,可自行定义单词本的内容)&a…

创建 Node REST API 文档

为自己开发的 Node REST API 生成文档,基本有两种方法: 1 极简版 此方法就是自己写一个文件,记录 API,不需要安装额外的 package,然后 app.js 增加一个 route 然后从浏览器查看这个文件就可以。 步骤如下&#xff1a…

酷家乐x极盾科技:“智能安全决策平台”助力日均十亿级日志分析

企业网络环境中每天都会产生大量的网络日志,还有工作站,服务器,路由器和防火墙等网络设备中的日志对网络安全的提升具有重要意义。充分利用好它们可以帮助企业及时发现潜在的风险和安全漏洞,把网络环境中存在的威胁扼杀在摇篮中。…

10年IT老兵亲述SpringCloud开发从入门到实战文档

前言 首先给大家看一张图,不知道图上这些springcloud的技术知识点,大家是否都精通而灵活运用了呢? 如果没有精通灵活运用的话,小编将用此文来带大家一步步来深入学习这些技术知识,接下来将从Spring Boot微框架搭建、S…

Makefile及cmake学习

Makefile及cmake学习 1. g,gcc以及cpp的区别2. Makefile2.1 介绍一个例子2.2 避免头文件重复包含的方法2.2.1 宏定义2.2.2 #pargma once 2.3 使用Makefile编译文件2.3.1 手动编译2.3.2 Makefile编译-版本12.3.3 Makefile编译-版本22.3.4 Makefile编译-版本32.3.5 Ma…

【三维几何学习】网格简化-ModelNet10

网格简化-ModelNet10 引言一、网格的简化1.1 水密网格的简化可视化1.2 非水密网格的简化可视化1.3 核心代码 二、ModelNet10数据集简化三、展望 引言 计算机算力有限,特别是在深度学习领域,撇开网格的输入特征计算,现有条件很难直接训练测试…

JS逆向 -- 某联盟登录密码分析

一、输入账号密码 账号:15836353612 密码:123456 二、F12打开开发者工具,抓包分析,password被加密提交了 三、全局搜索password,定位到关键JS文件,下断调试 四、断下来后,查看formDate的值&…