最近在工作時遇到一個問題,docker容器無法訪問宿主機的redis,telent6379端口不通。
經排查發現,該服務器啟用了防火墻,防火墻把6379的端口的訪問授權給docker0網卡訪問即可。
操作如下:
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端口被占用,很可能是本地已經安裝了mysql,mysql服務已經啟動導致的
解決辦法一:打開服務,找到mysql服務,將其停止,或者更換端口

然后再執行以下命令
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端口,在宿主機登錄容器數據庫的時候,使用宿主機端口,如3309
以上這篇docker容器無法訪問宿主機端口的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。