docker跑centos container,里面开了某个端口的服务,本地怎么样能访问到这个端口?

运行命令如下:
如下直接指定了network 是host

docker run --name centosAgentClient --network host --privileged=true -v E:/xx:/xx -it centos:latest /bin/bash

端口暴露出来这个我会,现在跑的这种,没理解host为什么不行

inspect可以看到是host
image.png

阅读 2.3k
4 个回答
✓ 已被采纳

不支持 Docker Desktop for Windows

The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.

https://docs.docker.com/network/drivers/host/

注意到你这里-v 挂载的是windows的磁盘路径,所以你用的应该是windows系统上的docker。

通常情况下,如果你是在linux下,使用--host这么用是没问题,在容器内监听端口,在本机就能访问。

但是windows上的docker,是运行在一个虚拟机里面的,虚拟机的host并不是windwos的host,所以他们并不能互通。大概就是这样。

如果你用wsl的话,可以考虑直接在wsl上安装docker,我感觉体验也还可以。

推荐问题
宣传栏