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

news2024/12/23 14:13:46

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

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

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

相关文章

Python中的全局变量与局部变量

1 定义 全局变量指的是在整个python文件中定义的变量,而局部变量是在函数内部定义的变量。 a 1 def yang_func():b 2 从以上代码中可以看出,变量a是全局变量,变量b是定义在yang_func()函数的内部,因此b是局部变量。 2 使用范…

云原生之部署Docker管理面板SimpleDocker

云原生之部署Docker管理面板SimpleDocker 一、SimpleDocker介绍1. SimpleDocker简介2. SimpleDocker特点 二、本地环境介绍1. 本地环境规划2. 本次实践介绍 三、本地环境检查1.检查Docker服务状态2. 检查Docker版本3.检查docker compose 版本 四、下载SimpleDocker镜像五、部署…

【GD32开发】一、GD32F103 TIMER0 PWM死区时间计算

一、PWM死区时间如何计算? GD32F103的数据手册关于死区时间控制的公式如上图。 DTCFG的值为 设置死区结构体的寄存器值 tDTS_CK的值为 系统时钟的时钟周期。 如:GD32F103的系统时钟是108Mhz, 则tDTS_CK 1/108Mhz 9.26ns。( stm32的这个值跟定时器的…

如何从 Android 内部存储中恢复已删除的照片?

我们使用手机录制的照片和视频通常存储在手机的内存中。我们存储它们以记住我们生活的美丽。然而,在管理这些照片的过程中,一些用户却发现自己不小心删除了这些照片,这很尴尬。 如果您的 Android 设备遇到过此类问题,那么您来对地…

SpringBoot日记本系统小白部署指南

哈喽,大家好,我是兔哥。 之前写的SpringBoot日记本系统备受好评,考虑到还是有很多小伙伴不会部署,所以这一篇文章就单独来讲一下部署步骤吧。 需要资源 idea(破不破解都行) MySQL(最好5.7以…

redis高级篇一

redis 是多线程还是单线程 redis单线程的操作 主要是指redis的网路IO和键值对的读写是由一个线程来完成的,Redis在处理客户端的请求时,包括获取(socket 读),解析,执行,内容返回(so…

linux(动静态库)

目录: 1.文件时间的概念 2.动态库和静态库 3.如何制作动静态库 -------------------------------------------------------------------------------------------------------------------------------- 1.文件时间的概念 我们现在就开始学习这三个时间分别表示了什…

AI百科:一个开启人工智能时代的综合性平台

无论是人工智能的快速发展还是AI技术在各个领域的广泛应用,都让我们对智能未来充满了期待和好奇。随着科技的进步,发现了一个好网站,一个集合了丰富AI工具和产品介绍的综合性网站—— AI百科。 在人工智能(AI)领域的快…

【实用工具 - vscode】实现Linux服务器的远程操控

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【计算机工具】 ✒️✒️本篇内容:vscode的下载安装,常见插件及详细安装方法,插件停用及卸载,vscode快捷键 …

如何将文件制作成二维码

日常生活和工作中,为了让大家更方便的查阅文件,可将文件生成二维码,打印在通知书、会议要求,或是直接用“二维码”分享。通过草料二维码可以将多种类型的文件快速生成文件二维码,微信扫码查看即可查看和下载文件。 ● …

项目风险管理的四个阶段,你了解多少?

项目风险管理是项目管理的一部分,目的是保证项目总目标的实现。 风险管理包括风险识别、风险估计、风险解决和风险监控。风险管理贯穿在项目中的每个环节,在项目的生命周期中监控风险是非常重要的手段。 风险管理包含四个阶段: 1、风险识别…

从需求分析到功能扩展:打破瓶颈,构建智能采购管理软件

在当今快速发展的商业环境下,采购管理已成为企业发展的关键环节之一。如何在采购管理中快速响应市场需求、协调供应链、提高效率和降低成本,是摆在企业面前的一个巨大挑战。因此,打破瓶颈,构建智能采购管理软件成为了迫切的需求。…

内蒙古自治区住房和城乡建设分析及解决方案

安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 摘 要:为深入贯彻落实《国务院办公厅关于印发新能源汽车产业发展规划(2021—2035年)的通知》(国办发 ﹝2020﹞39号)、《国家发展改革委等部门关于进一步提升…

一文读懂如何将 Rancher 下游集群升级到 Kubernetes v1.25

介 绍 最初在 Kubernetes v1.21 中被弃用的 PodSecurityPolicy API,已经在 Kubernetes v1.25 中被完全删除。由于 API 被移除,你无法在 Kubernetes v1.25 集群中创建、编辑或查询 PodSecurityPolicy 资源。此外,由于其准入控制器已被移除&am…

JAVA-类隔离机制

一、类加载: 1、类加载:Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码加载到内存,发给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的…

Windows 上安装和启动 Nacos 2.2.2 最新版本

文章目录 前言版本声明本地启动1. 下载 Nacos2. 开启鉴权配置3. 持久化数据库4. 启动 Nacos5. 启动测试 联系我 前言 本文旨在为您详细介绍如何安装和启动 Nacos 2.2.2 的最新版本,以及为 youlai-mall 开源商城版本的升级做好准备工作。 版本声明 名称版本操作系…

企业工程项目管理系统源码-全面的工程项目管理

​ ​工程项目管理系统是指从事工程项目管理的企业(以下简称工程项目管理企业)受业主委托,按照合同约定,代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 如今建筑行业竞争激烈,内卷严重&#xff0c…

【IP技术】IP地址详细解释

大家知道如何查看本机的 IP 吗?这个问题,即便是没有专业学过计算机的人,只要折腾过电脑,重装过系统,大多都会知道答案:在 Windows 下是 ipconfig,在 linux 下是 ifconfig。 在 Windows 下输入 i…

Activity的onCreate方法是怎样被调用的?

Activity的onCreate方法是怎样被调用的? 按前面源码分析的介绍,在Activity的onCreate方法中,添加如下的log: android.util.Log.i("wztest", "Activity onCreate", new Exception());重新编译后,…

移动云COCA架构,重新定义下一代云

当前,算力已经成为 全球科技竞争的焦点 为此,移动云重磅发布 「移动云COCA(Compute on chip Architecture)软硬一体片上计算架构」 以下简称移动云COCA架构 以此打造国家级自主可控的 高性能算力底座 带动国产化智算产业成熟…