欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker端口映射的完全指南

 更新時(shí)間:2025年08月14日 08:45:05   作者:sg_knight  
端口映射指的是將容器的端口映射到主機(jī)的端口,使得外部用戶能夠通過主機(jī)的IP地址和端口訪問容器內(nèi)運(yùn)行的服務(wù),本文給大家介紹了Docker端口映射的完全指南,需要的朋友可以參考下

容器內(nèi)部的網(wǎng)絡(luò)服務(wù)默認(rèn)與宿主機(jī)隔離。端口映射(Port Mapping)通過-p參數(shù)建立宿主機(jī)端口容器端口的橋梁,實(shí)現(xiàn)外部請(qǐng)求直達(dá)容器服務(wù)。

一、端口映射核心原理

網(wǎng)絡(luò)隔離基礎(chǔ)

映射規(guī)則解析

# 基礎(chǔ)語(yǔ)法
docker run -p [宿主機(jī)IP:]宿主機(jī)端口:容器端口

二、端口映射五大應(yīng)用場(chǎng)景

場(chǎng)景1:Web服務(wù)對(duì)外暴露

# 將宿主機(jī)8080映射到Nginx容器的80端口
docker run -d -p 8080:80 --name web nginx

# 驗(yàn)證訪問
curl http://localhost:8080

場(chǎng)景2:多服務(wù)獨(dú)立暴露

# MySQL映射3306,Adminer映射8080
docker run -d -p 3306:3306 --name mysql mysql:8.0
docker run -d -p 8080:8080 --link mysql adminer

場(chǎng)景3:隨機(jī)端口分配

# 系統(tǒng)自動(dòng)分配宿主機(jī)端口
docker run -d -p 80 --name random_port_nginx nginx

# 查看實(shí)際映射
docker port random_port_nginx
# 輸出:80/tcp -> 0.0.0.0:32768

場(chǎng)景4:指定網(wǎng)卡訪問

# 僅允許內(nèi)網(wǎng)訪問(宿主機(jī)IP 192.168.1.100)
docker run -d -p 192.168.1.100:8080:80 nginx

場(chǎng)景5:UDP協(xié)議支持

# 映射DNS服務(wù)的UDP端口
docker run -d -p 53:53/udp dns_server

三、生產(chǎn)環(huán)境最佳實(shí)踐

1. 端口沖突解決方案

# 檢查端口占用
netstat -tuln | grep :8080

# 沖突時(shí)切換端口
docker run -d -p 8081:80 nginx

2. 安全加固配置

# 限制來(lái)源IP(僅允許192.168.1.0/24網(wǎng)段)
docker run -d -p 8080:80 \
  --iptables --restrict-to-source 192.168.1.0/24 \
  nginx

3. 動(dòng)態(tài)端口管理

# 查看容器端口映射
docker port nginx
# 80/tcp -> 0.0.0.0:8080

# 查看所有暴露端口
docker inspect -f '{{range $p, $conf := .NetworkSettings.Ports}}{{$p}} {{end}}' nginx

四、底層技術(shù)剖析

1. iptables實(shí)現(xiàn)原理

2. 與網(wǎng)絡(luò)模式的關(guān)系

網(wǎng)絡(luò)模式端口映射支持典型用例
bridge(默認(rèn))必須映射多容器獨(dú)立服務(wù)
host不需要高性能網(wǎng)絡(luò)場(chǎng)景
overlay集群內(nèi)部Swarm/K8s集群

五、常見故障排查

1. 端口不通的檢查步驟

2. 關(guān)鍵診斷命令

# 檢查容器是否監(jiān)聽
docker exec nginx netstat -ntlp | grep 80

# 跟蹤iptables規(guī)則
iptables -t nat -nvL DOCKER

# 容器網(wǎng)絡(luò)連通性測(cè)試
docker run --rm --network container:nginx busybox telnet 127.0.0.1 80

六、高級(jí)技巧

1. 范圍端口映射

# 批量映射端口8000-8099
docker run -d -p 8000-8099:8000-8099 port_range_app

2. 雙棧IPv4/IPv6支持

# 同時(shí)支持IPv4和IPv6
docker run -d -p 8080:80/tcp -p [2001:db8::1]:8080:80/tcp nginx

3. 流量透明代理

# 將宿主機(jī)的80端口透明轉(zhuǎn)發(fā)到容器
docker run -d -p 80:80 -v /etc/nginx:/etc/nginx nginx

生產(chǎn)環(huán)境鐵律

  1. 避免使用-P自動(dòng)暴露:明確指定端口防止意外暴露內(nèi)部服務(wù)
  2. 最小化開放端口:僅暴露必要端口降低攻擊面
  3. 結(jié)合TLS加密:對(duì)公網(wǎng)暴露的服務(wù)必須啟用HTTPS

通過docker port隨時(shí)驗(yàn)證映射關(guān)系,結(jié)合iptables -t nat -S DOCKER檢查轉(zhuǎn)發(fā)規(guī)則,確保網(wǎng)絡(luò)流量精確到達(dá)目標(biāo)容器。端口映射作為容器對(duì)外的網(wǎng)絡(luò)網(wǎng)關(guān),是容器化服務(wù)融入企業(yè)架構(gòu)的核心通道。

以上就是Docker端口映射的完全指南的詳細(xì)內(nèi)容,更多關(guān)于Docker端口映射的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • docker磁盤空間清理的解決辦法

    docker磁盤空間清理的解決辦法

    前段時(shí)間遇到docker磁盤空間太少,無(wú)法寫入數(shù)據(jù)的問題。本文就來(lái)介紹一下docker磁盤空間清理的解決辦法,感興趣的可以了解一下
    2021-06-06
  • docker save和docker load的具體使用

    docker save和docker load的具體使用

    本文詳細(xì)介紹了docker save和docker load命令的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • 基于Docker搭建Redis一主兩從三哨兵的實(shí)現(xiàn)

    基于Docker搭建Redis一主兩從三哨兵的實(shí)現(xiàn)

    這篇文章主要介紹了基于Docker搭建Redis一主兩從三哨兵的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 詳解Docker鏡像的基本操作方法

    詳解Docker鏡像的基本操作方法

    這篇文章主要介紹了Docker鏡像的基本操作方法,主要包括獲取鏡像和運(yùn)行鏡像的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 使用docker搭建gitlab詳解

    使用docker搭建gitlab詳解

    本篇文章主要介紹了使用docker搭建gitlab詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-02-02
  • Docker-Compose的使用示例詳解

    Docker-Compose的使用示例詳解

    docker-compose是用來(lái)在Docker中定義和運(yùn)行復(fù)雜應(yīng)用的工具,比如在一個(gè)yum文件里定義多個(gè)容器,只用一行命令就可以讓一切就緒并運(yùn)行。下面通過示例給大家介紹Docker-Compose的使用,感興趣的朋友一起看看吧
    2017-07-07
  • 詳解nodejs之創(chuàng)建最小docker鏡像

    詳解nodejs之創(chuàng)建最小docker鏡像

    這篇文章主要介紹了詳解nodejs之創(chuàng)建最小docker鏡像,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-04-04
  • Docker部署verdaccio搭建npm私服的實(shí)現(xiàn)

    Docker部署verdaccio搭建npm私服的實(shí)現(xiàn)

    本女王主要介紹了Docker部署verdaccio搭建npm私服的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • dockerfile介紹與使用小結(jié)

    dockerfile介紹與使用小結(jié)

    Dockerfile是一個(gè)創(chuàng)建鏡像所有命令的文本文件, 包含了一條條指令和說明, 只需要在Dockerfile上添加或者修改指令, 就可生成 docker 鏡像,本文給大家介紹dockerfile介紹與使用小結(jié),感興趣的朋友一起看看吧
    2023-11-11
  • 理解Docker(1):Docker安裝和基礎(chǔ)用法詳細(xì)介紹

    理解Docker(1):Docker安裝和基礎(chǔ)用法詳細(xì)介紹

    本篇文章主要是介紹了Docker 安裝和基礎(chǔ)用法,對(duì)于想要需要的Docker的同學(xué)可以了解一下。
    2016-11-11

最新評(píng)論