精华内容
下载资源
问答
  • docker宿主机访问docker容器服务失败

    千次阅读 2018-12-21 10:40:00
    因为docker的虚拟ip网段是172.17.*。*与局域网的ip网段172.17冲突了,所以有两种方式: 解决方法: 一、 修改docker网卡信息,将网段改为与局域网不同的即可 参考博客:http://blog.51cto.com/wsxxsl/2060761 ...

    原因:

    因为docker的虚拟ip网段是172.17.*。*与局域网的ip网段172.17冲突了,所以有两种方式:

    解决方法:

    一、

    修改docker网卡信息,将网段改为与局域网不同的即可

    参考博客:http://blog.51cto.com/wsxxsl/2060761

    linux修改方法:
    第一步 删除原有配置
    sudo service docker stop
    sudo ip link set dev docker0 down
    sudo brctl delbr docker0
    sudo iptables -t nat -F POSTROUTING
    第二步 创建新的网桥
    sudo brctl addbr docker0
    sudo ip addr add 172.16.10.1/24 dev docker0
    sudo ip link set dev docker0 up
    第三步 配置Docker的文件
    注意: 这里是 增加下面的配置
    vi /etc/docker/daemon.json##追加下面的配置即可
    {"registry-mirrors": ["http://224ac393.m.daocloud.io"],
        "bip": "172.16.10.1/24"
    }
    [root@bogon ~]# cat /etc/docker/daemon.json  ##追加的即可
    {"registry-mirrors": ["http://224ac393.m.daocloud.io"],
        "bip": "172.16.10.1/24"
    }
    [root@bogon ~]# systemctl  restart  docker

    二、改变网络模式,与宿主机共享一个网卡,

    启动时添加 --net=host
    例子:
    docker run --privileged=true -t -i -p 9103:9103 -p 9104:9104 --net=host -d b87146ecdd6a /bin/bash

    查看docker容器ip:

    docker inspect <container_id> 命令,可以查看到容器的网络配置

    查看容器的网络方式:

    docker network ls

    展开全文
  • 主机无法访问容器的页面(但控制和传递文件都正常),间接导致外部浏览器无法访问。但当替换至阿里云云服务器中时,一切正常。 docker run --name tomcat01 -p 80:8080 -v /root/webapps/:/usr/local/tomcat/...

    在学习docker过程中,跟随视频教程学习到nginx、tomcat等内容时。发现在VM虚拟机中的centos7系统,docker构建tomcat容器时。主机无法访问容器的页面(但控制和传递文件都正常),间接导致外部浏览器无法访问。百思不得其解后,尝试在云服务器中试验时,一切正常。故判断VM虚拟机中的主机和容器间网络异常。

    docker run --name tomcat01 -p 80:8080 -v /root/webapps/:/usr/local/tomcat/webapps/ -d tomcat 

    curl localhost/test/

    curl: (56) Recv failure: Connection reset by peer

     

    解决思路

    1、检查vm网络配置和vm相关服务是否启动(本人将VM服务全部调为手动,故需要检查。)  正常

    2、修改、重启主机网络服务  无效

    参考https://blog.csdn.net/qq_41847741/article/details/95942639

    3、手动修改主机和容器间的网络配置 解决

    参考https://blog.csdn.net/qq_32522263/article/details/107817414

    (1)主机新建一个自定义的网卡 br4

    brctl addbr br4

    ifconfig br4 192.161.0.1 netmask  255.255.255.0

    ifconfig

    (2)docker 网络中新建一个自定义的网络 br10

    docker network create -d bridge -o "com.docker.network.bridge.default_bridge"=true  -o "com.docker.network.bridge.enable_icc"=true -o "com.docker.network.bridge.enable_ip_masquerade"=true -o "com.docker.network.bridge.host_binding_ipv4"="0.0.0.0" -o "com.docker.network.bridge.name"="br4" -o "com.docker.network.driver.mtu"="1500" br10

    docker network ls

    4、测试

    docker run --name tomcat-test -p 80:8080 -v /root/webapps/:/usr/local/tomcat/webapps/ --network br10 -d tomcat

    curl localhost/test/

     

    备注

    (1) 了解 br4 和 br10 通过以下命令连接,如有需要按需更改

    "com.docker.network.bridge.name"="br4" -o "com.docker.network.driver.mtu"="1500" br10

     

    (2)

    关闭并删除br4 网卡

    ifconfig br4 down

    brctl delbr  br4
    删除 br10 docker网络
    docker network rm  br10

    展开全文
  • docker 宿主机无法访问容器里的服务

    千次阅读 2020-06-05 17:23:39
    宿主机无法访问容器里的服务 curl: (56) Recv failure: Connection reset by peer curl http://127.0.0.1 报错curl: (56) Recv failure: Connection reset by peer sudo service docker stop sudo ip link set dev...

    宿主机无法访问容器里的服务

    错误信息

    curl: (56) Recv failure: Connection reset by peer
    

    现象

    使用curl http://127.0.0.1
    报错curl: (56) Recv failure: Connection reset by peer

    `按以下步骤执行就可以了`
    sudo service docker stop
    sudo ip link set dev docker0 down            %关闭docker虚拟网卡
    sudo brctl delbr docker0
    sudo iptables -t nat -F POSTROUTING
    sudo brctl addbr docker0
    sudo ip addr add 172.16.10.1/24 dev docker0
    sudo ip link set dev docker0 up 				%开启docker虚拟网卡
    
    #我的docker 没有daemon.json这个文件 最后一步 我没弄。但是也成功了
    vi /etc/docker/daemon.json
    		#daemon.json
    			{"registry-mirrors": ["http://224ac393.m.daocloud.io"],
        			"bip": "172.16.10.1/24"
    			}
    

    完事重启docker就好了

    systemctl restart docker

    注:实在不行重装一次docker

    展开全文
  • 我的宿主机是CentOS7,安装的docker版本是19.03.8。我拉取了一个Ubuntu基础镜像,然后基于此创建了自己的python镜像,命名为"my-image"。 生成容器是的命令是: ``` docker run -it -p 50001:5000 my-image /...
  • 实验环境: ... 在局域网192.168.0.2中可以通过http://192.168.0.1:8080 访问tomcat服务,而在 宿主机:192.168.0.1通过http://localhost:8080或http://127.0.0.1:8080却不能访问tomcat服务 怎么处理!
  • 一、问题描述:容器内可访问容器外不可访问docker起的应用程序...容器内可访问容器外不可访问,出现这个问题的原因明显是网络问题,并且可以定位到是容器宿主机之前的网络通信出现问题。 二、解决方式:...

    一、问题描述:容器内可访问,容器外不可访问

    用docker起的应用程序,在容器内可以访问这个程序,没问题,如下:

    但是容器外、宿主机内就不行(端口不通)

    但是明明把宿主机的端口和容器的端口映射了,这是之前docker run 的命令:docker run   -itd   --name demo -p 8091:8091 icpcloudgather

    容器内可访问,容器外不可访问,出现这个问题的原因明显是网络问题,并且可以定位到是容器与宿主机之前的网络通信出现问题。

    二、解决方式:重新设置网卡

    #停止docker
    systemctl stop docker
    #docker0
    ip link set dev docker0 down
    #删除docker0网桥
    brctl delbr docker0
    #防火墙设置,后来发现这一步不用执行可以
    iptables -t nat -F POSTROUTING
    #增加docker0 网桥
    brctl addbr docker0
    #增加网卡
    ip addr add 172.16.10.1/24 dev docker0
    #启用网卡
    ip link set dev docker0 up
    #重启docker服务
    systemctl restart docker

    三、验证问题解决结果:容器外可以访问

    展开全文
  • docker宿主机使用-P命令随机端口绑定的docker指定端口(比如每个容器都暴露8080端口), 但是容器中无法知道宿主机的ip和映射端口,即eureka上的实例不知道暴露给外部的什么访问IP和端口(宿主机IP和宿主机port)。...
  • 问题:docker安装之后,新建了nginx容器,在容器内curl http://localhost可以访问,在宿主机上死活访问不到容器内网站;(不是端口映射问题) 1.降低docker版本 我用的docker版本是19.03.12,centos7.2在我自己...
  • 查询docker宿主机IP 宿主机使用ifconfig docker0 就是宿主机IP,容器内部可以使用该IP访问宿主机 root@feifei-PC:/home/feifei# ifconfig docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet ...
  • 容器中Nginx反向代理访问宿主机其他容器踩坑一晚上,解决方案整理做个记录。 容器访问 容器间组网有四种方式,host、container、none、bridge,容器间互相访问可能因为不在同一网中找不到地址,介绍看这里: ...
  • 最近在工作时遇到一个问题,docker容器无法访问宿主机的redis,telent6379端口不通。 经排查发现,该服务器启用了防火墙,防火墙把6379的端口的访问授权给docker0网卡访问即可。 操作如下: firewall-cmd –...
  • docker容器无法访问宿主机mysql

    千次阅读 2019-09-05 18:15:52
    我遇见的问题是,容器无法连接上宿主机上的mysql,通过telent ip 端口 发现问题所在就是docker容器无法访问宿主机ip和外部端口 具体原因还没找到,等我查阅资料后再来解释 目前我的解决办法就是找到容器与宿主网络连接...
  • docker容器访问宿主机IP

    千次阅读 2019-03-19 16:02:00
     一部分服务打包进dockerdocker-compose启动,但是一部分正在开发中,放在host比较方便,比如node.js这种,希望在调试已经封进docker容器的时候,能设置从容器网络访问宿主机node服务 参考...
  • 主要介绍了Docker容器访问宿主机网络的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 背景 最近把docker的一些基本操作都学了一下,想试着把个人博客通过docker来进行部署...这问题看着就像连接不上数据库,所以就报错了,只要解决Docker容器访问宿主机的MySQL,这个问题就能得到解决。 解决(CentOS8)
  • 我们经常会在容器访问宿主机的资源 比如 nginx容器反向代理其他容器或者宿主机的应用 如果nginx在容器内,方向代理宿主机的应用,直接使用127.0.0.1 或者localhost是有问题的,因为宿主机的网络和容器网络不通 ...
  • Docker容器访问宿主机网络

    千次阅读 2020-02-23 22:44:12
    业务请求量小的时候,我们会把一些工程部署到同一台机器上。 这些工程之间也会相互访问。...不是宿主机ip。 其实Docker容器运行的时候有host、bridge、none三种网络可供配置。默认是bridge,即桥接网络,以桥接模式...
  • docker 访问宿主机

    万次阅读 2018-08-23 11:54:13
    有时候就需要在docker容器访问宿主机提供的服务。 例如容器里的应用需要访问宿主机的mysql服务。 方案一: 宿主机执行ifconfig 会看到docker0那个ip,可以使用来访问宿主机 方案二: docker 18.03 加入了一...
  • 2.宿主机访问docker内服务 目前网上大多数的方案都是更改docker容器的端口映射 但是我在自己的机子上就是找不到这些文件=-= 所以用如下方法,如果可以,最好自己修改端口映射 如果想要不改变容器内容和配置的情况下...
  • 最近在工作时遇到一个问题,docker容器访问不了部署在宿主机的redis服务器。telent6379端口不通。 经排查发现,该服务器启用了防火墙,防火墙把6379的端口的访问授权给docker0网卡访问即可。 操作如下: firewall-...
  • 1,排查防火墙firewall-cmd --state 如果输出的是“not running”则FirewallD没有在运行,且所有的防护策略都没有启动,那么可以排除防火墙阻断连接的情况了。 如果输出的是“running”,表示当前FirewallD正在...
  • docker宿主机的ip是会动态改变的,并不能保证永久不变。因此此举是行不通。 方案1 使用 --net=host 的网络模式。 但实践,发现win环境下,宿主机上并没有暴露容器的端口。 网络上的一些观点是:该用法不适用于...
  • docker容器访问宿主机端口

    千次阅读 2019-09-26 16:52:10
    运行在 docker 容器中的一个项目需要访问宿主机的某个端口,也就是容器 A 中的项目访问宿主机项目 B。 之前是可以通过下边的方式正常访问的,最近不知道动了哪里突然出现 500 ,一番折腾,总算是解决了,这里记录...
  • 自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点...此种方式是将容器的某个端口映射到宿主机的某个端口,其它主机访问容器提供的服务需要通过宿主机的IP进行访问: docker run -p 9000:8000 --name c...
  • docker容器访问宿主机的MySQL

    千次阅读 2019-05-17 09:18:03
    背景:有一个flask项目提供接口,使用docker容器构建并且运行,MySQL在宿主机运行,需要在容器中可以让flask连接上宿主机的mysql 使用ifconfig命令可以看到,有一个docker0和eth0,在docker容器中可以通过eth0的IP...
  • 前言 今天在mac上做tekton实验的时候由于我的kubernetes是用的docker中自带的k8s,所以运行在k8s中的容器,虽然是可以直接使用kubectl 命令看见,但是却访问不了,也就是无法通过 curl podIp 这样的形式访问,因此...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,007
精华内容 402
关键字:

docker宿主机访问容器