最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 未映射端口的解決方案(兩種無(wú)需重啟容器的訪問(wèn)方法)

 更新時(shí)間:2026年04月02日 09:33:46   作者:XMYX-0  
本文介紹了兩種無(wú)需重啟MySQL容器的方法,讓你訪問(wèn)其數(shù)據(jù)庫(kù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

以mysql容器為例

實(shí)驗(yàn)背景

在開(kāi)發(fā)和測(cè)試環(huán)境中,常遇到這種情況:

  • 容器內(nèi)運(yùn)行 MySQL 數(shù)據(jù)庫(kù)
  • 容器啟動(dòng)時(shí)未映射 MySQL 默認(rèn)端口 3306
  • 需要從宿主機(jī)或外部工具訪問(wèn)數(shù)據(jù)庫(kù)

直接訪問(wèn)宿主機(jī)端口會(huì)失敗,因?yàn)槎丝谖从成?。本文演?兩種無(wú)需重啟原容器 的方法,讓你訪問(wèn) MySQL 容器數(shù)據(jù)庫(kù):

  1. socat 臨時(shí)端口轉(zhuǎn)發(fā)
  2. Docker 代理容器方案(長(zhǎng)期訪問(wèn))

實(shí)驗(yàn)環(huán)境準(zhǔn)備

啟動(dòng) MySQL 容器(不映射端口):

docker run -d --name mysql-test -e MYSQL_ROOT_PASSWORD=root123 mysql:5.7.34

查看容器狀態(tài):

docker ps

輸出示例:

CONTAINER ID   IMAGE          PORTS
87162db7d5d3   mysql:5.7.34   3306/tcp, 33060/tcp

注意:3306 沒(méi)有映射到宿主機(jī)。

獲取容器內(nèi)部 IP:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql-test

輸出示例:

192.168.1.3

方法 1:宿主機(jī)使用 socat 臨時(shí)端口轉(zhuǎn)發(fā)

socat 可以把宿主機(jī)端口臨時(shí)映射到容器內(nèi)部端口,無(wú)需重啟容器。

1. 安裝 socat

# CentOS / RHEL
yum install -y socat
# Debian / Ubuntu
apt install -y socat

2. 啟動(dòng)端口轉(zhuǎn)發(fā)

# 將宿主機(jī) 3306 端口轉(zhuǎn)發(fā)到容器 3306
socat TCP-LISTEN:3306,fork TCP:192.168.1.3:3306

?? 提醒:如果宿主機(jī)已有 MySQL 在運(yùn)行,請(qǐng)使用備用端口(如 3307)避免沖突。

3. 訪問(wèn) MySQL

mysql -h 127.0.0.1 -P 3306 -u root -p'root123'

4. 注意事項(xiàng)

  • socat 會(huì)占用終端,會(huì)話(huà)結(jié)束或 Ctrl+C 后轉(zhuǎn)發(fā)停止
  • 適合 臨時(shí)調(diào)試和開(kāi)發(fā)

方法 2:使用 Docker 代理容器(長(zhǎng)期方案)

如果希望長(zhǎng)期訪問(wèn),并且在宿主機(jī)重啟或容器重啟后仍然有效,可以使用 alpine/socat 代理容器:

1. 創(chuàng)建自定義網(wǎng)絡(luò)(推薦方式)

docker network create mysql-net

2. 啟動(dòng) MySQL 容器加入網(wǎng)絡(luò)

docker run -d \
  --name mysql-test \
  --network mysql-net \
  -e MYSQL_ROOT_PASSWORD=root123 \
  mysql:5.7.34

3. 啟動(dòng)代理容器

docker run -d \
  --name mysql-proxy \
  --network mysql-net \
  -p 3306:3306 \
  --restart always \
  alpine/socat \
  TCP-LISTEN:3306,fork TCP:mysql-test:3306

說(shuō)明:

  • TCP-LISTEN:3306,fork:宿主機(jī)監(jiān)聽(tīng) 3306
  • TCP:mysql-test:3306:轉(zhuǎn)發(fā)到 MySQL 容器

4. 訪問(wèn) MySQL

mysql -h 127.0.0.1 -P 3306 -u root -p'root123'

使用此方法,宿主機(jī)重啟、代理容器重啟,訪問(wèn)依然有效。

安全提示

  • socat 暴露端口會(huì)直接開(kāi)放到宿主機(jī),請(qǐng)?jiān)诳尚啪W(wǎng)絡(luò)使用
  • 生產(chǎn)環(huán)境建議使用防火墻限制訪問(wèn),或通過(guò) Docker Compose 管理端口
  • 避免在公網(wǎng)暴露數(shù)據(jù)庫(kù)端口

總結(jié)

方法適用場(chǎng)景特點(diǎn)注意事項(xiàng)
socat 臨時(shí)轉(zhuǎn)發(fā)臨時(shí)開(kāi)發(fā)調(diào)試快速、無(wú)需改動(dòng)原容器進(jìn)程結(jié)束即停止
Docker 代理容器長(zhǎng)期訪問(wèn)支持宿主機(jī)/容器重啟,類(lèi)似端口映射占用宿主機(jī)端口,需注意安全

?? 最佳實(shí)踐

  • 開(kāi)發(fā)環(huán)境:臨時(shí)調(diào)試可用 socat
  • 測(cè)試/長(zhǎng)期環(huán)境:代理容器 + 自定義網(wǎng)絡(luò)
  • 生產(chǎn)環(huán)境:?jiǎn)?dòng)容器時(shí)就映射端口或使用 Docker Compose 管理

到此這篇關(guān)于Docker 未映射端口的解決方案(兩種無(wú)需重啟容器的訪問(wèn)方法)的文章就介紹到這了,更多相關(guān)Docker 未映射端口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker中控制服務(wù)啟動(dòng)順序的操作方法

    Docker中控制服務(wù)啟動(dòng)順序的操作方法

    Docker是一種開(kāi)源的應(yīng)用容器引擎,允許開(kāi)發(fā)者將應(yīng)用及其依賴(lài)打包進(jìn)容器,實(shí)現(xiàn)快速、一致的部署,Docker三劍客compose、machine和swarm提供了不同層面的服務(wù)管理和編排,使得在不同環(huán)境中部署應(yīng)用變得簡(jiǎn)單高效
    2024-10-10
  • 前端轉(zhuǎn)全棧必須要掌握的一些Docker知識(shí)

    前端轉(zhuǎn)全棧必須要掌握的一些Docker知識(shí)

    對(duì)于長(zhǎng)期深耕于瀏覽器環(huán)境的前端開(kāi)發(fā)者而言,邁向全棧并非僅僅是技術(shù)棧的延伸,更是一次思維模式的根本性轉(zhuǎn)變,這篇文章主要介紹了前端轉(zhuǎn)全棧必須要掌握的一些Docker知識(shí),需要的朋友可以參考下
    2026-03-03
  • Docker?部署?OnlyOffice?文檔服務(wù)器的操作方法

    Docker?部署?OnlyOffice?文檔服務(wù)器的操作方法

    本文詳細(xì)介紹了如何使用Docker部署OnlyOffice文檔服務(wù)器,包括準(zhǔn)備工作、設(shè)置變量和目錄結(jié)構(gòu)、創(chuàng)建并運(yùn)行OnlyOffice容器、訪問(wèn)OnlyOffice文檔服務(wù)器以及配置和管理,通過(guò)這些步驟,你可以在本地快速搭建一個(gè)強(qiáng)大的文檔編輯平臺(tái),感興趣的朋友一起看看吧
    2025-02-02
  • Docker?容器安裝?Dify的兩種方法詳解

    Docker?容器安裝?Dify的兩種方法詳解

    該文章介紹了如何使用Docker容器在Windows上安裝Dify,方法一通過(guò)拉取Dify鏡像并運(yùn)行容器,方法二通過(guò)克隆Dify源代碼并使用DockerCompose啟動(dòng)容器,兩種方法各有優(yōu)缺點(diǎn),選擇哪種方法取決于具體需求,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • docker容器中安裝vim問(wèn)題解決

    docker容器中安裝vim問(wèn)題解決

    本文主要介紹了docker容器中安裝vim問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • docker安裝Redis高可用實(shí)現(xiàn)一主二從三哨兵

    docker安裝Redis高可用實(shí)現(xiàn)一主二從三哨兵

    redis提供了哨兵模式保證redis實(shí)現(xiàn)高可用,本文主要介紹了docker安裝Redis高可用實(shí)現(xiàn)一主二從三哨兵,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • 詳解docker-compose.yml文件常用模版命令

    詳解docker-compose.yml文件常用模版命令

    這篇文章主要介紹了docker-compose.yml文件常用模版命令,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • Docker v1.13.0 正式版發(fā)布

    Docker v1.13.0 正式版發(fā)布

    本文給大家分享的是Docker v1.13.0 正式版發(fā)布的信息,最近一直在學(xué)習(xí)docker中,所以關(guān)注的比較多,這里分享給大家
    2017-01-01
  • Docker上部署mysql8主從復(fù)制的實(shí)現(xiàn)

    Docker上部署mysql8主從復(fù)制的實(shí)現(xiàn)

    本文主要介紹了Docker上部署mysql8主從復(fù)制的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • docker remote api一鍵TLS加密的實(shí)現(xiàn)

    docker remote api一鍵TLS加密的實(shí)現(xiàn)

    本文主要介紹了docker remote api一鍵TLS加密的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評(píng)論

平乐县| 惠安县| 乐清市| 洛隆县| 友谊县| 汽车| 曲水县| 阜平县| 新营市| 沛县| 奈曼旗| 涿州市| 汉源县| 孝感市| 平阳县| 山阳县| 岑溪市| 和林格尔县| 青川县| 漳州市| 图片| 广饶县| 马边| 四川省| 崇礼县| 东安县| 南涧| 福泉市| 屏南县| 达日县| 韶山市| 商洛市| 乌兰察布市| 南部县| 杂多县| 辽阳县| 兖州市| 陈巴尔虎旗| 富顺县| 清原| 乌拉特后旗|