最近在工作時遇到一個問題,docker容器無法訪問宿主機的redis,telent6379端口不通。
經(jīng)排查發(fā)現(xiàn),該服務(wù)器啟用了防火墻,防火墻把6379的端口的訪問授權(quán)給docker0網(wǎng)卡訪問即可。
操作如下:
firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --reload
補充知識:docker 啟動mysql 容器出錯Ports are not available: listen tcp 0.0.0.0:3306
錯誤截圖如下
該錯誤是由于本地3306端口被占用,很可能是本地已經(jīng)安裝了mysql,mysql服務(wù)已經(jīng)啟動導(dǎo)致的
解決辦法一:打開服務(wù),找到mysql服務(wù),將其停止,或者更換端口
然后再執(zhí)行以下命令
docker run --name MYSQL -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -itd mysql:latest /bin/bash
如圖,則啟動成功
解決辦法二:更換端口映射
docker run --name MYSQL -e MYSQL_ROOT_PASSWORD=123456 -p 3309:3306 -itd mysql:latest /bin/bash
說明:
-p 3309:3306:-p 宿主機端口:容器端口,即將宿主機3309端口映射到容器的3306端口,在宿主機登錄容器數(shù)據(jù)庫的時候,使用宿主機端口,如3309
以上這篇docker容器無法訪問宿主機端口的解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/q649381130/article/details/105119179