Linux系统运维:修改docker容器与宿主机之间的端口映射,解决端口占用问题

news2025/1/11 11:12:11

目录

一、问题

二、docker端口映射

(一)docker端口映射定义

1、相关概念:

2、默认情况下,Docker容器会有一个端口映射:

3、端口范围:

(二)配置相关

1、指定端口映射

2、随机端口映射

3、端口映射的配置文件

三、docker端口映射的作用

四、docker端口映射的实现方式

(一)参数-P(大写p)进行随机映射

(二)参数-p(小写p)指定端口映射

1、命令格式

2、命令实例

五、问题解决过程

(一)端口映射配置        

(二)修改已启动容器的映射的端口

1、查看要修改映射端口的容器的ID

2、关闭docker服务

3、修改配置文件

4、启动docker服务

5、确认容器端口映射被修改

六、成果展示

(一)博客管理服务docker应用的端口更改展示

(二)视频监控平台管理服务docker应用的端口更改展示


一、问题

        应用服务是通docker容器部署,容器内的80端口默认是映射到宿主机的80端口上的,可以通过浏览器访问页面。

        现在,由于业务发展需要,宿主机的80端口要用作其他服务,因此需要修改docker容器的端口到宿主机的端口的映射关系。

二、docker端口映射

(一)docker端口映射定义

        在使用Docker时,容器的端口映射是一个核心概念,它允许容器与宿主机以及外部网络进行通信。docker端口映射可以将容器内部的服务绑定到宿主机上的一个或多个端口。通过端口映射,可以从外部网络访问容器内的服务。

1、相关概念:

        容器端口:容器内部运行的应用程序监听的端口。

        宿主机端口:你的物理机器或虚拟机上相应的端口。

2、默认情况下,Docker容器会有一个端口映射:

        当运行一个容器时,Docker会自动将容器的80端口映射到宿主机的80端口。这意味着如果运行一个Web服务器容器,并且没有指定其他端口映射,用户可以直接通过宿主机的80端口访问容器内的Web服务器。

3、端口范围:

        Docker允许映射任何端口,但宿主机的端口需要是开放的。通常,宿主机的端口范围是1024以上。

(二)配置相关

1、指定端口映射

        如果需要将容器的其他端口映射到宿主机的端口,可以在运行容器时使用-p--publish标志。例如:

        docker run -p 8080:80 nginx

        这个命令将容器的80端口映射到宿主机的8080端口。

2、随机端口映射

        如果没有指定端口映射,Docker会随机选择宿主机上的端口进行映射。

3、端口映射的配置文件

        在Docker Compose中,你可以在docker-compose.yml文件中指定端口映射,例如:

version: '3'

services:

  webapp:

    ports:

    - "5000:5000"

        这将把容器的5000端口映射到宿主机的5000端口。

三、docker端口映射的作用

        1、通过将容器内的服务绑定到宿主机上的端口,可以使得外部网络可以通过宿主机的 IP 地址和端口号来访问容器内的服务。

        2、当在同一台主机上运行多个容器时,容器内的服务可能会监听相同的端口。通过端口映射,可以将这些容器内的服务绑定到不同的宿主机端口上,避免端口冲突。

四、docker端口映射的实现方式

(一)参数-P(大写p)进行随机映射

        docker run时,使用-P参数,Docker会随机选择一个宿主机端口映射到内部容器开放的端口。

(二)参数-p(小写p)指定端口映射

1、命令格式

        如果需要将容器的其他端口映射到宿主机的端口,可以在运行容器时使用-p--publish标志,也就是使用docker run时使用-p(--publish)。注意的是,在一个指定的端口上只能绑定一个容器  。

        命令为:

        docker run -p <宿主机端口>:<容器内部服务端口> image_name

2、命令实例

        实例如下:

        docker run -p 8080:80 nginx

        这个命令将容器的80端口映射到宿主机的8080端口。

五、问题解决过程

(一)端口映射配置

        在宿主机中创建容器,将容器内的80端口映射到宿主机的80端口

           #docker run -itd -p 80:80 wordpress

        效果如下: 

        

(二)修改已启动容器的映射的端口

1、查看要修改映射端口的容器的ID

        #docker ps -a

        此例中的容器ID为451afbc7bfc7

2、关闭docker服务

         #systemctl stop docker

3、修改配置文件

        找到容器配置文件并修改,将映射到宿主机的端口修改为8080。

        从/var/lib/docker/containers/文件夹中找到容器ID开头的文件夹,如下图示:

       找到文件 hostconfig.json,用vim进行编辑,如下图示:        

        修改hostconfig.json的PortBindings中的"HostPort"栏目,如下图示:

4、启动docker服务

        #systemctl start docker

5、确认容器端口映射被修改

六、成果展示

(一)博客管理服务docker应用的端口更改展示

        访问<宿主机IP>:8080,可以正常访问所部署的容器的服务页面。

(二)视频监控平台管理服务docker应用的端口更改展示

        AS-V1000视频监控平台也可以进行docker部署,也碰到端口映射的问题。

        通过修改映射关系到26088,通过访问<宿主机IP>:26088,可以正常访问所部署的容器的服务页面,可以正常看到实时视频,如下图所示。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


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

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

相关文章

3D模型如何实现拖拽打开?---模大狮模型网

在当今数字化时代&#xff0c;3D技术的应用已经深入到各行各业&#xff0c;为用户带来了更加丰富、生动的体验。然而&#xff0c;对于一些用户来说&#xff0c;打开和查看3D模型可能会面临一些困难&#xff0c;特别是在无法拖拽打开时。本文将为您揭示解决这一问题的方法&#…

c4d云渲染怎么操作?怎么使用?一文带你了解

Cinema 4D (C4D) 不仅是众多设计师所青睐的卓越三维软件&#xff0c;其自带的高效渲染器以及对云渲染农场的支持&#xff0c;都极大地拓宽了创意和生产的边界。通过利用强大的云计算资源&#xff0c;C4D能够帮助用户轻松克服渲染速度缓慢的难题&#xff0c;从而实现更加流畅和高…

2024人文艺术、社会发展与教育国际会议(ICHASDE2024)

2024人文艺术、社会发展与教育国际会议(ICHASDE2024) 会议简介 2024年国际人文、艺术、社会发展与教育会议&#xff08;ICHASDE2024&#xff09;将在中国昆明举行。会议旨在为从事“人文、艺术、社会发展和教育”的专家、学者、工程师和技术人员提供一个平台&#xff0c;分享…

学习经验分享【36】论文投稿写作(非理工科文章)

业务进一步扩展&#xff0c;可辅导非理工科偏文科性质的论文辅导&#xff0c;有需要评职称但没有时间精力研究的或者其他相关需求的朋友可咨询了解。 人工智能技术在各领域的发展和思考&#xff0c;类似这种主题的文章。

SAP-ABAP-ALV报表

1、功能介绍 什么是ALV报表 2、开发步骤 事物码: SE38创建报表程序SE93生成TCODESE43SE91消息号报表类型:简单报表、复杂报表、报表树 报表组成:查询界面(选择屏幕)、展示界面、功能按钮 基本流程: 重点:数据放在内表里,临时表,放在内存里。 3、开发实战 按标题…

通过命令行设置ipv4

使用管理员打开命令行窗口。管理员权限更高。 使用Netsh查看网络信息. 在更改IP地址和相关信息之前&#xff0c;需要先找到要更改的网络接口的名称&#xff0c;执行以下命令&#xff1a; netsh interface ipv4 show config运行后, WLAN就是待修改的网络的名称。 自动获取i…

如何通过wifi网络将串口数据发送到多个设备

摘要&#xff1a;当lora电台的速率无法满足高速传输时&#xff0c;可以考虑用“串口服务器”。本文介绍一下如何使用TP-LINK的TL-CPE300D实现一对多的数据发送。 当前也有使用lora电台的&#xff0c;但是lora电台支持的速率有限&#xff0c;可能最大支持到9600&#xff0c;甚至…

8.删除有序数组中的重复项 II

文章目录 题目简介题目解答解法一&#xff1a;双指针&#xff08;快慢指针&#xff09;代码&#xff1a;复杂度分析&#xff1a; 题目链接 大家好&#xff0c;我是晓星航。今天为大家带来的是 删除有序数组中的重复项 II 相关的讲解&#xff01;&#x1f600; 题目简介 题目解…

【高阶数据结构】并查集

并查集 并查集1、概念2、根据人找编号 / 根据编号找人&#xff08;简单介绍一下并查集&#xff09;&#xff08;1&#xff09;代码展示&#xff08;2&#xff09;调试结果&#xff08;3&#xff09;优化1&#xff1a;小的往大的合并&#xff08;4&#xff09;优化2&#xff1a;…

如何把逻辑地址转换为物理地址

​ 使用系统架构设计师真题说明&#xff08;2021年&#xff09;某计算机系统页面大小为 4K&#xff0c;进程 P1 的页面变换表如下图示&#xff0c;看 P1 要访问数据的逻辑地址为十六进制 1B1AH&#xff0c;那么该逻辑地址经过变换后&#xff0c;其对应的物理地址应为十六进制&…

基于一种改进小波阈值的微震信号降噪方法(MATLAB)

微震是指岩体由于在人为扰动或自然原因下受力变形&#xff0c;发生破裂过程中能量积聚而释放的弹性波或应力波。微震信号具有信噪比低、不稳定性、瞬时性和多样性等特点。因此&#xff0c;在任何损坏之前都会出现微小的裂缝&#xff0c;这种微小的裂缝是由岩层中应力和应变的变…

TB交易开拓者旗舰版自动交易的设置

本文针对TB交易开拓者旗舰版V6.0.7.0(期货程序化交易软件下载 - 交易开拓者),目前网上没有自动交易设置的完整教程&#xff0c;特写此篇。 1. 设置期货账户的自动登录和登出。点击菜单“文件/系统设置”&#xff0c;然后在“安全”tab做如下设置&#xff1a; 2 设置你的期货账…

MyBatis认识

一、定义 MyBatis是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08;Plain Old Java O…

Ci24R1 (SOP8)2.4GHz无线收发一体、双向系统的智能家居芯片

Ci24R1 &#xff08;SOP8&#xff09;工作范围在2.4GHzISM频段&#xff0c;专为低系统应用成本的无线场合设计&#xff0c;集成嵌入式ARQ基带协议引擎的无线收发器芯片。它的工作频率范围为2400MHz-2525MHz&#xff0c;共有126个1MHz带宽的信道。 Ci24R1 &#xff08;SOP8&…

深度学习Day-16:实现天气预测

&#x1f368; 本文为&#xff1a;[&#x1f517;365天深度学习训练营] 中的学习记录博客 &#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制] 要求&#xff1a;根据提供的数据集对RainTomorrow进行预测 一、 基础配置 语言环境&#xff1a;Python3.7编译器选择…

微服务核心01-Maven【项目管理工具】基础

一、Maven 简介 1.1 传统项目管理&#xff1a; 1.2 Maven 的作用 项目构建&#xff1a;提供标准的、跨平台的自动化项目构建方式。依赖管理&#xff1a;管理项目依赖的资源&#xff08;jar 包&#xff09;&#xff0c;避免资源间的版本冲突问题统一开发结构&#xff1a;提供标…

RGB-D分割相关调研

一、常见的RGB-D分割网络结构 单分支 RGB和Depth信息进行前期融合&#xff08;a&#xff09;&#xff0c;常规的编码-解码结构&#xff0c;对卷积核进行改进以适应RGB和Depth信息&#xff0c;不需要改变网络结构 双分支 不同的分支对RGB和Depth信息进行&#xff08;中期b或者后…

如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问

文章目录 前言1. 安装 Raspberry Pi OS2. 测试 web 站点3. 安装静态样例站点4. 将web站点发布到公网4.1 安装 Cpolar4.2 cpolar进行token认证4.3 生成cpolar随机域名网址4.4 生成cpolar二级子域名4.5 将参数保存到cpolar配置文件中4.6 测试修改后配置文件4.7 配置cpolar服务开机…

华为静态路由跨网段通信eNSP

拓扑图&#xff1a; 底层原理&#xff1a; 通信需要4个地址 源MAC 源IP 目标MAC 目标IP ARP地址解析协议 通过ip地址解析MAC 如果是相同的网段直接通过 arp直接发送广播 谁是192.168.1.2 我需要的MAC 1.2就会回应告诉 1.1他的MAC 1.1会封装4个地址 发送方的IP MAC 接受方IP和MA…

电脑文件加密软件有哪些?口碑、安全性最好的文件加密软件

某企业的一位员工因不慎将包含敏感客户数据的电脑丢失&#xff0c;导致企业面临巨大的法律风险和经济损失。 这一事件凸显了电脑文件加密的必要性。 如果该企业事先采用了文件加密软件对敏感数据进行保护&#xff0c;即使电脑丢失&#xff0c;攻击者也无法轻易获取到文件内容…