我使用docker命令运行了一个容器,
$ docker run -itd -p 8001:801 --name centos7_01 centos:centos7 /bin/bash
1.请问下,我在容器中是否可查看到Host主机的IP地址呢?
2.我是否可把端口映射中主机的端口和容器的端口写成一致呢?
我使用docker命令运行了一个容器,
$ docker run -itd -p 8001:801 --name centos7_01 centos:centos7 /bin/bash
1.请问下,我在容器中是否可查看到Host主机的IP地址呢?
2.我是否可把端口映射中主机的端口和容器的端口写成一致呢?
1.请问下,我在容器中是否可查看到Host主机的IP地址呢?
如果你的 docker 不那么旧的话,除了把网络设置成 host 模式以外,你还可以使用其他方式来访问到主机的服务。
比如 --add-host host.docker.internal:host-gateway
加上这个参数,你就可以在容器中使用 host.docker.internal
来访问主机。
对于 docker-compose ,你可以在服务下这样配置。
extra_hosts:
- "host.docker.internal:host-gateway"
2.我是否可把端口映射中主机的端口和容器的端口写成一致呢?
可以,前提是主机端口没有被占用。
1 回答605 阅读✓ 已解决
1 回答557 阅读
71 阅读
docker 容器的网络模式:bridge、none、container、host
你选择 host 就行了,你用 host,docker 就不会调用 cgroup、namespace 帮你创建一个虚拟网络,而是直接使用 host 网络
具体看官网文档:Docker Doc: Network drivers