当前位置: 首页 > news >正文

Docker笔记9 | Docker中网络功能知识梳理和了解

9 | Docker中网络功能知识梳理和了解

  • 1 外部访问容器
    • 1.1 访问方式
    • 1.2 映射所有接口地址
    • 1.3 映射到指定地址的指定端口
    • 1.4 映射到指定地址的任意端口
    • 1.5 查看映射端口配置
  • 2 容器互联
    • 2.1 新建网络
    • 2.2 连接容器
  • 3 配置DNS

简单说:Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。

1 外部访问容器

1.1 访问方式

  • 要想让外部访问容器中的一些网络应用,需要通过 -P-p 参数来指定端口映
    射;
  • -PDocker 会随机映射一个端口到内部容器开放的网络端口;
  • docker container ls 查看到本地主机的 32768 被映射到了容器的 80 端口,此时访问本机的
    32768 端口即可访问容器内 NGINX 默认页面:
    在这里插入图片描述
  • docker run -d -P nginx:alpine
    在这里插入图片描述
  • -p:指定要映射的端口(在一个指定端口上只可以绑定一个容器)。
# 支持的格式
ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort 

1.2 映射所有接口地址

  • 方式:hostPort:containerPort (默认会绑定本地所有接口上的所有地址);
  • 举例:本地的80映射到容器的80端口:
docker run -d -p 80:80 nginx:alpine

在这里插入图片描述

1.3 映射到指定地址的指定端口

  • 方式:ip:hostPort:containerPort(指定映射使用一个特定地址);
  • 举例:比如localhost 地址:
docker run -d -p 127.0.0.1:80:80 nginx:alpine 
  • 我这里端口已经被绑定了,所以会报错,先不管这个:
    在这里插入图片描述

1.4 映射到指定地址的任意端口

  • 方式:ip::containerPort
  • 举例:绑定 localhost 的任意端口到容器的 80 端口,本地主机会自动分配一个端口:
docker run -d -p 127.0.0.1::80 nginx:alpine

在这里插入图片描述

1.5 查看映射端口配置

  • 命令: docker port
    在这里插入图片描述

2 容器互联

2.1 新建网络

  • 创建新的docker网络:
docker network create -d bridge mynet

在这里插入图片描述

2.2 连接容器

  • 运行容器并连接到刚才新建的网络mynet
docker run -it --rm --name busybox1 --network mynet busybox sh

在这里插入图片描述

  • 打开新的终端,再运行一个容器并加入到 mynet 网络:
docker run -it --rm --name busybox2 --network mynet busybox sh

在这里插入图片描述

  • 再打开一个终端查看容器信息:
    在这里插入图片描述
  • 使用ping命令来验证两个容器建立了互联关系:
    在这里插入图片描述
    在这里插入图片描述

3 配置DNS

  • Docker 利用虚拟文件来挂载容器的 3 个相关配置文件;
  • 通过mount命令查看挂载信息:
    在这里插入图片描述
  • 宿主主机 DNS 信息发生更新后,所有 Docker 容器的 DNS 配置通过 /etc/resolv.conf文件立刻得到更新;
  • 配置全部容器DNS,也可以在 /etc/docker/daemon.json 文件中增加以下内容来设置:
{"dns" : ["123.123.123.123","6.6.6.6"]
}
  • 则,每次启动容器DNS为以上的配置。使得配置生效的命令为:
 docker run -it --rm ubuntu:18.04 cat etc/resolv.conf

相关文章:

Docker笔记9 | Docker中网络功能知识梳理和了解

9 | Docker中网络功能知识梳理和了解 1 外部访问容器1.1 访问方式1.2 映射所有接口地址1.3 映射到指定地址的指定端口1.4 映射到指定地址的任意端口1.5 查看映射端口配置 2 容器互联2.1 新建网络2.2 连接容器 3 配置DNS 简单说:Docker 允许通过外部访问容器或容器互…...

生态系统模型:SolVES、DNDC、CMIP6、GEE林业、APSIM、InVEST、无人机遥感、ArcGIS Pro模型等

基于R语言APSIM模型高级应用及批量模拟实践技术 CMIP6 数据处理方法与典型案例分析实践技术 Python 与 Noah-MP 陆面过程模型融合技术及在站点、区域模拟实践应用 双碳目标下基于“遥感”融合技术在碳储量、碳收支、碳循环等多领域监测与模拟实践应用 基于Citespace和vosvi…...

常见分布函数。

一维常见分布函数 1.离散型 ① 0 - 1分布 记 X~B(1,p) 如果X的概率分布为 ( 1 0 p 1 − p ) \begin{pmatrix} 1 & 0 \\ p & 1-p \end{pmatrix} (1p​01−p​),则称X服从参数为P的0-1分布&#xff08;0<p<1&#xff09;。 注&#xff1a;0-1分布又称一次伯努利试…...

【网络安全】红队攻防之基础免杀

引言 本文主要介绍“反射型 dll 注入”及“柔性加载”技术。 反射型 dll 注入 为什么需要反射型 dll 注入 常规的 dll 注入代码如下&#xff1a; int main(int argc, char *argv[]) {HANDLE processHandle;PVOID remoteBuffer;wchar_t dllPath[] TEXT("C:\\experimen…...

CTF入门指南

何为CTF &#xff1f; CTF&#xff08;Capture The Flag&#xff09;夺旗比赛&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会&#xff0c;以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。…...

C:入门级积累(4)

(int *)malloc(10 * sizeof(int))memory allocate动态分配内存,malloc的出现时为了弥补静态内存分配的缺点&#xff0c;传统数组的长度一旦定义之后&#xff0c;就不能更改&#xff0c;比如说&#xff0c;如果我有一个业务在这之前给分配的大小为100&#xff0c;但是&#xff0…...

基于DBSCAN密度聚类的风电-负荷场景削减方法

​目录 ​ 1 主要内容 基于密度聚类的数据预处理&#xff1a; 场景提取&#xff1a; 算法流程&#xff1a; 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序复现文章《氢能支撑的风-燃气耦合低碳微网容量优化配置研究》第三章内容&#xff0c;实现的是基于DBSCAN…...

服务(第二十七篇)squid-传统、穿透、反向代理

squid代理服务器&#xff1a; 主要提供缓存加速、应用层过滤控制的功能。 代理的工作机制&#xff1a; 1、代替客户机向网站请求数据&#xff0c;从而可以隐藏用户的真实IP地址。 2、将获得的网页数据&#xff08;静态 Web 元素&#xff09;保存到缓存中并发送给客户机&#x…...

golang yaml 解析问题

golang 中解析 yaml 格式内容可以使用 yaml.v3 库来解决。下载 go 依赖 go get -u gopkg.in/yaml.v31. 示例 yaml 数据 config_mail_template:description: 验证码one: Verification Codeother: Verification Codeconfig_mail_template_reset_code:description: 重置密码one:…...

setContentHuggingPriority和setContentCompressionResistancePriority的使用

需求&#xff1a; 两个label并排显示&#xff0c;文字内容由服务器返回&#xff0c;label宽度以文字内容自适应&#xff0c;label之间间距大于等于10. 需要考虑以下情况&#xff1a; 当两个label的宽度和 < 屏幕宽度时&#xff0c;各自设置约束&#xff0c;无需处理&#…...

java springboot yml文件配置 多环境yml

如果是properties改用yml&#xff0c;直接改后缀&#xff0c;原文件中的配置语法改用yml的语法即可&#xff0c;系统会自动扫描application.properties和application.yml文件&#xff08;注意&#xff1a;改了之后需要maven 命令 clean一下&#xff0c;清个缓存&#xff09;。 …...

DMBOK知识梳理for CDGA/CDGP——第一章数据管理(附常考知识点)

第一章 数据管理 第一章在 CDGA|CDGP考试中分值占比均不是很高&#xff0c;主要侧重点是考概念性的知识&#xff0c;理解数据管理的目标原则、还有与其他概念的区别点&#xff0c;同时掌握几个关键核心的图&#xff08;车轮图、六边形图、语境关系图&#xff09;。总体来说难度…...

065:cesium设置带有箭头的线材质(material-9)

第065个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置带有箭头的线材质,请参考源代码,了解PolylineArrowMaterialProperty的应用。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共82行)相关API参考…...

Java常用API

1 常用API API(:Application Programming Interface ):应用程序编程接口1.1 Math类 Math中没有构造方法,类的成员都是静态的(static修饰),通过类名就可以直接调用常用方法方法名说明public static int abs(int a)获取参数a的绝对值public static double ceil(double a) …...

【C++ 学习 ⑥】- C++ 动态内存管理详解

目录 一、new 表达式和 delete 表达式的工作机理 二、operator new 和 operator delete 函数 2.1 - 标准库定义 2.2 - 重载 三、定位 new 表达式 四、常见面试题 4.1 - malloc/free 和 new/delete 的区别 4.2 - 内存泄漏 在 C 中&#xff0c;new 和 delete 既是关键字&…...

【5.21】六、自动化测试—常见技术

目录 6.2 自动化测试常见技术 1. 录制与回放测试 2. 脚本测试 3. 数据驱动测试 6.2 自动化测试常见技术 自动化测试技术有很多种&#xff0c;这里介绍3种常见的技术&#xff1a; 1. 录制与回放测试 录制是指使用自动化测试工具对桌面应用程序或者是Web页面的某一项功能进…...

JavaScript中的事件循环机制,包括事件循环的原理、宏任务和微任务、事件队列和调用栈、以及如何优化事件循环

JavaScript中的事件循环机制是JavaScript运行引擎的核心之一&#xff0c;它决定了代码的执行方式和效率。本文将从几个方面介绍JavaScript中的事件循环机制&#xff0c;包括事件循环的原理、宏任务和微任务、事件队列和调用栈、以及如何优化事件循环。 一、事件循环的原理 事…...

【华为OD机试c++】解压报文【2023 B卷 |200分】

题目描述 为了提升数据传输的效率&#xff0c;会对传输的报文进行压缩处理。 输入一个压缩后的报文&#xff0c;请返回它解压后的原始报文。 压缩规则&#xff1a;n[str]&#xff0c;表示方括号内部的 str 正好重复 n 次。 注意 n 为正整数&#xff08;0 < n < 100&a…...

JS中Array的forEach、map、filter方法区别?

一&#xff1a;基本用法 1、forEach()函数用于对数组中的每个元素执行给定的函数&#xff0c;而它不返回任何值&#xff0c;它只是对每个元素调用传入的函数。这个函数可以接受三个参数&#xff1a;当前元素的值、当前元素的索引和整个数组。 const arr [1, 2, 3]; arr.forE…...

Java的Arrays类的sort()方法(41)

目录 sort&#xff08;&#xff09;方法 1.sort&#xff08;&#xff09;方法的格式 2.使用sort&#xff08;&#xff09;方法时要导入的类 3.作用 4.作用的对象 5.注意 6.代码及结果 &#xff08;1&#xff09;代码 &#xff08;2&#xff09;结果 sort&#xff08;&…...

保姆级教程:在Ubuntu 20.04上搞定浙大lidar_IMU_calib(从编译到避坑)

保姆级教程&#xff1a;在Ubuntu 20.04上搞定浙大lidar_IMU_calib&#xff08;从编译到避坑&#xff09;当激光雷达&#xff08;LiDAR&#xff09;和惯性测量单元&#xff08;IMU&#xff09;需要协同工作时&#xff0c;标定这两个传感器之间的外参是必不可少的步骤。浙大开源项…...

Taotoken审计日志功能在团队协作与安全排查中的作用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken审计日志功能在团队协作与安全排查中的作用 在团队协作使用大模型API的过程中&#xff0c;一个常见的问题是&#xff1a;当…...

仅限前500名开发者获取:ChatGPT+Tableau自动化连接器私有部署包(含OAuth2.0审计日志模块)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;ChatGPT数据可视化建议 在利用ChatGPT辅助数据分析与可视化时&#xff0c;关键在于将模型生成的结构化洞察高效映射到可交互、可解释的图表中。以下实践建议聚焦于提升输出质量与工程落地性。 优先选择语义明…...

20岁写出Transformer的人,真开源了2180亿大模型

点击下方卡片&#xff0c;关注“CVer”公众号AI/CV重磅干货&#xff0c;第一时间送达点击进入—>【顶会/顶刊】投稿交流群添加微信号&#xff1a;CVer2233&#xff0c;小助手拉你进群&#xff01;扫描下方二维码&#xff0c;加入CVer学术星球&#xff01;可以获得最新顶会/顶…...

使用taotoken为ubuntu系统中的openclaw工具配置聚合模型端点

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用 Taotoken 为 Ubuntu 系统中的 OpenClaw 工具配置聚合模型端点 基础教程类&#xff0c;指导习惯使用 OpenClaw 进行 AI 工作流…...

3步解锁专业中文Figma设计环境:告别语言障碍的设计革命

3步解锁专业中文Figma设计环境&#xff1a;告别语言障碍的设计革命 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗&#xff1f;每次设计时都要在"F…...

创业团队如何利用Taotoken管理多个AI模型的用量与成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 创业团队如何利用Taotoken管理多个AI模型的用量与成本 对于资源有限的创业团队而言&#xff0c;在快速迭代产品原型时&#xff0c;…...

创新方案:DouZero_For_HappyDouDiZhu - AI智能斗地主实战指南

创新方案&#xff1a;DouZero_For_HappyDouDiZhu - AI智能斗地主实战指南 【免费下载链接】DouZero_For_HappyDouDiZhu 基于DouZero定制AI实战欢乐斗地主 项目地址: https://gitcode.com/gh_mirrors/do/DouZero_For_HappyDouDiZhu 你是否曾想过在斗地主游戏中拥有一个永…...

想知道你的AI提示词到底用了多少Token?这个可视化工具告诉你答案

想知道你的AI提示词到底用了多少Token&#xff1f;这个可视化工具告诉你答案 【免费下载链接】tiktokenizer Online playground for OpenAPI tokenizers 项目地址: https://gitcode.com/gh_mirrors/ti/tiktokenizer 在构建AI应用时&#xff0c;你是否经常遇到这样的困惑…...

VisualGGPK2终极指南:如何轻松编辑《流放之路》游戏资源文件

VisualGGPK2终极指南&#xff1a;如何轻松编辑《流放之路》游戏资源文件 【免费下载链接】VisualGGPK2 Library for Content.ggpk of PathOfExile (Rewrite of libggpk) 项目地址: https://gitcode.com/gh_mirrors/vi/VisualGGPK2 VisualGGPK2是一款专为《流放之路》玩家…...