# 錯誤說明 (以下為windows示意外部訪問nginx服務,訪問失敗)  ## 前情提要 用VM建立了1個cnetOS7環境,在centOS裡安裝Docker,用Docker創建nginx服務(containerName=mn), 然而,進入Dokcer容器,用`curl`可以訪問服務  但是,在宿主機centOS,用`curl`無法訪問nginx服務, ```sh [root@localhost ~]# curl http://192.168.216.129 ```  ## 原因: ```sh brctl show ## 如果显示无指令 则使用以下命令下载 yum install -y bridge-utils ```  如果该图上显示 8000.00000000000 以及无挂载容器,可能是网桥出现问题 # 解決方式 1. 停止 docker 守护进程 ```sh systemctl stop docker ``` 1. 然后添加网桥br0 ```sh ip addr add 172.16.0.1/24 dev br0 ``` 1. 启用网桥br0 ```sh ip link set dev br0 up ``` 1. 修改docker默认网桥 ```sh vim /etc/docker/daemon.json { "bridge":"br0" } ``` 1. 启动 docker 守护进程 ```sh # docker 守护进程在启动的时候可以自动去配置网络设置 systemctl start docker ``` 1. 重新查看网桥 ```sh brctl show ```  1. 可以看到新建的网桥成功挂在了容器,也可以成功访问Nginx了  > 參考資料: > - [解决CentOS中docker容器无法被物理机访问](https://blog.csdn.net/warneraop/article/details/124829995) **<font color=magenta>(主要解法)</font>** > - [centos7 docker 宿主机不能访问容器问题解决](https://blog.csdn.net/u013258447/article/details/115750332) > - [docker 网络配置重置](https://www.cnblogs.com/oloroso/p/14080722.html)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up