如何从Windows主机获取Docker容器IP地址及在WSL环境下检测对应容器IP
嘿,我来帮你搞定这两个Docker IP地址的问题~
一、从Windows主机获取Docker容器的IP地址
有两个简单实用的方法可以拿到:
- 用docker inspect直接提取IP:先通过
docker ps找到目标容器的ID或者名称,然后执行下面的命令,就能直接输出容器的IP地址,不用看一堆冗余配置:
这里的docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器ID/名称>-f参数是指定输出格式,这个模板会精准从容器的网络配置里提取出IP字段。 - 进入容器内部查看:如果你想更直观地确认,也可以直接进入容器,用Linux的ip命令查看网卡信息:
执行后找到docker exec -it <容器ID/名称> ip addreth0网卡对应的inet字段,后面跟着的就是容器的IP啦。
二、检测WSL运行的Docker容器IP地址
从你给出的docker ps输出看,容器elegant_jepsen已经正常运行,还配置了8080->80的端口映射。其实WSL环境里的Docker(如果是和Windows Docker Desktop集成的),获取IP的方法和上面基本一致:
- 直接提取IP:针对你的容器,可以直接用名称或者ID执行inspect命令:
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' elegant_jepsen # 或者用容器ID:74f26c50a729 docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 74f26c50a729 - 进入容器查看:同样用exec命令进入容器,查看网卡详情:
找到docker exec -it elegant_jepsen ip addreth0的inet地址就是你要的容器IP。
另外提一句:如果只是要访问容器里的服务,因为已经做了端口映射,直接在Windows或者WSL里访问localhost:8080就可以啦,不用特意找IP~
内容的提问来源于stack exchange,提问作者Juergen Schulze
相关产品推荐
相关产品推荐

