IDC资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回IDC资讯列表

Docker内怎么访问本机

发布时间:2022-05-31

这篇文章是关于如何在Docker中访问这台机器的。桂哥网络觉得很实用,就分享给大家参考,跟着桂哥网络看了看。

Question

Docker需要访问本地数据库,如何访问。使用127.0.0.1肯定是不可能的,因为这是指Docker容器中的容器本身。所以需要通过其他渠道解决问题。

Solution

以下方法,根据操作系统的类型,选择一种。

文件:

RUN/sbin/iproute | awk '/default/{ print $ 3,' \ tdockerhost ' } '/etc/hostsRunTime:

(可能不使用)dockerrun-add-hostdockerhost : `/sbin/iproute | awk '/default/{ print $ 3 } ' `[my container]

(有用)dockerrun-add-host=dockerhost : ` dockernetworkkinspect-format=' { { range。IPAM.Config}}{{。gateway } } { { end } } ' bridge `[IMAGE]Docker for MAC(17.12):

docker.for.mac.host.internal

MONGO _ SERVER=docker . for . MAC . host . internal

#docker-compose.yml

版本:'3 '

服务:

api:

build:/api

volumes:

-./AP :/usr/src/app : ro

ports:

-'8000'

环境:

-MONGO_SERVER

command :/usr/local/bin/guni corn-c/usr/src/app/guni corn _ config . py-w1-b 33608000 wsgilinux

#解决方案1

/sbin/iproute | awk '/default/{ print $ 3 } '

dockerrun-add-hostdockerhost : `/sbin/iprout | awk '/default/{ print $ 3 } ' `[my container]

#解决方案2

-e ' DOCKER _ HOST=$(IP-4 addrshow DOCKER 0 | grep-Po ' inet \ K[\ d]. ')'Principle

要知道原理,需要知道计算机网络的模型和docker实现的模型。事实上,虚拟桥docker0是在docker中实现的。需要在网桥中找到外部主机的虚拟地址,即docker.for.mac.host.internal,才能访问容器中的外部主机。有兴趣的话可以了解一下docker的网络原理,计算机网络原理,Docker作曲。

Reference

[1].(stack overflow)insert-docker-parent-host-IP-into-containers-hosts-file

[2].如何从集装箱内部获取码头工人主机的ip地址

感谢阅读!这篇关于“如何在Docker中访问这台机器”的文章已经在这里分享了。希望以上内容能帮助大家学到更多的知识。如果你觉得文章好,可以分享给更多人看!


TikTok千粉号购买平台:https://tiktokusername.com/