香港高速VIP云机房火爆上线啦!无需备案,开通即用!配套《巅云自助建站系统3.0》将带给您飞一般的可视化拖拽建站体验,欢迎免费体验。

建站专题

Docker内如何访问本机(宿主机)的具体方法

一佰互联网站开发设计(www.yinxi.net) 发布日期 2019-04-22 10:28:31 浏览数: 11

Question

Docker内需要访问本机的数据库,如何访问。使用127.0.0.1肯定是不行的,因为这个在Docker容器里面指的是容器本身。所以,需要走别动渠道进行解决。

Solution

下面几种办法,根据操作系统的类型,选取其一即可。

DockerFile:

RUN /sbin/ip route|awk "/default/ { print $3,"	dockerhost" }" >> /etc/hosts

RunTime:

(may not use) docker run --add-host dockerhost:`/sbin/ip route|awk "/default/ { print $3}"` [my container](useful) docker run --add-host=dockerhost:`docker network inspect --format="{{range .IPAM.Config}}{{.Gateway}}{{end}}" bridge` [IMAGE]

Docker for Mac (17.12+):

docker.for.mac.host.internalMONGO_SERVER=docker.for.mac.host.internal# docker-compose.ymlversion: "3"services: api:  build: ./api  volumes:   - ./api:/usr/src/app:ro  ports:   - "8000"  environment:   - MONGO_SERVER  command: /usr/local/bin/gunicorn -c /usr/src/app/gunicorn_config.py -w 1 -b :8000 wsgi

Linux

# Solution 1/sbin/ip route|awk "/default/ { print $3 }"docker run --add-host dockerhost:`/sbin/ip route|awk "/default/ { print $3}"` [my container]# Solution 2-e "DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po "inet K[d.]+")"

Principle

想知道原理,需要了解计算机网络的模型和docker实现的模型。docker内部实际上实现了一个虚拟网桥docker0,需要通过网桥找到外部宿主机的在网桥的虚拟地址,也就是docker.for.mac.host.internal,就可以实现容器内访问外部宿主机。感兴趣的话可以了解下Docker的网络原理、计算机网络原理和docker compose等内容。

Reference

[1].(stackoverflow)insert-docker-parent-host-ip-into-containers-hosts-file

[2].(stackoverflow)how-to-get-the-ip-address-of-the-docker-host-from-inside-a-docker-container

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持网页设计。

一佰互联是全国知名建站品牌服务商,我们有九年网站建设、网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

相关新闻more

26
04月
PHP使用finfo_file()函数检测上

本文实例讲述了PHP使用finfo_file()函数检测上传图片类型的实现方法。分享给大家供大家参考,具体如下:在输入输出中,文件的交互必不... >>详情

27
03月
4款国内外免费建站工具大盘点,总有一款适合你

简介:在互联网时代,建站已经成了各个中小型商家乃至个人的重要需求之一,人们可以通过各个建站工具制作企业网站或个人网站,满足企业品牌宣传、营销... >>详情

21
04月
基于 CSS 动画的 SVG 按钮实例代码

具体代码如下所示:<a href="#"> <svg> <rect&g... >>详情

25
04月
php如何计算两坐标点之间的距离

本文实例为大家分享了php计算两坐标点之间距离的实现代码,供大家参考,具体内容如下地球上两个点之间,可近可远。 当比较近的时候,可以忽略球面... >>详情

营业执照. cdn加速服务 备案系统认证 网络安全协会 我们的支付方式AAA认证
上海 北京 深圳 广州 天津 杭州 南京 武汉 成都 沈阳 大连 长沙 济南 青岛 苏州 福州 无锡 哈尔滨 宁波 重庆 大庆 厦门 西安 长春 珠海 郑州 海口 昆明 太原 石家庄 温州 合肥 乌鲁木齐 南宁 南通 合肥 兰州 呼和浩特 贵阳 烟台 秦皇岛 包头 唐山 银川 汕头 连云港 威海 西宁 湛江 北海 万州 涪陵 长寿 黔江 永川 丰都 忠县 江津 南川 开县 云阳 万盛 梁平 垫江 巫山 城口 建站宝盒 免费建站 门户网站建设 微信网站 手机网站 门户网站制作

7x24小时服务电话:18581389571 传真:023-85725751 免费建站交流群:236412099 139947842(自助建站交流) E-Mail:post@yinxi.net 网站投诉:
重庆楚捷科技有限公司 一佰互联©版权所有 自助建站(www.yinxi.net,Inc.) 2001-2020 All Rights Reserved 本站程序受法律保护,网站法律顾问:ITLAW-庄毅雄律师
中华人民共和国信息产业部网站备案号:渝ICP备12000592号