精华内容
下载资源
问答
  • As the title says. 如标题所示。 I need to be able to retrieve the IP address the docker hosts and the por

    本文翻译自:How to get the IP address of the docker host from inside a docker container

    As the title says. 如标题所示。 I need to be able to retrieve the IP address the docker hosts and the portmaps from the host to the container, and doing that inside of the container. 我需要能够检索Docker主机的IP地址和从主机到容器的端口映射,并在容器内部进行操作。


    #1楼

    参考:https://stackoom.com/question/1YGwh/如何从Docker容器内部获取Docker主机的IP地址


    #2楼

    唯一的方法是在创建容器时将主机信息作为环境传递

    run --env <key>=<value>
    

    #3楼

    /sbin/ip route|awk '/default/ { print $3 }'
    

    正如@MichaelNeale所注意的那样,没有必要在Dockerfile使用此方法(除非仅在构建期间需要此IP),因为此IP将在构建期间进行硬编码。


    #4楼

    The --add-host could be a more cleaner solution (but without the port part, only the host can be handled with this solution). --add-host可能是一个更简洁的解决方案(但如果没有端口部分,则只能使用此解决方案来处理主机)。 So, in your docker run command, do something like: 因此,在您的docker run命令中,执行以下操作:

    docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print  $3}'` [my container]
    

    (From https://stackoverflow.com/a/26864854/127400 ) (来自https://stackoverflow.com/a/26864854/127400


    #5楼

    If you enabled the docker remote API (via -H tcp://0.0.0.0:4243 for instance) and know the host machine's hostname or IP address this can be done with a lot of bash. 如果启用了tcp://0.0.0.0:4243 远程API (例如,通过-H tcp://0.0.0.0:4243 )并且知道主机的主机名或IP地址,则可以通过大量的bash来完成。

    Within my container's user's bashrc : 在我容器的用户的bashrc

    export hostIP=$(ip r | awk '/default/{print $3}')
    export containerID=$(awk -F/ '/docker/{print $NF;exit;}' /proc/self/cgroup)
    export proxyPort=$(
      curl -s http://$hostIP:4243/containers/$containerID/json |
      node -pe 'JSON.parse(require("fs").readFileSync("/dev/stdin").toString()).NetworkSettings.Ports["DESIRED_PORT/tcp"][0].HostPort'
    )
    

    The second line grabs the container ID from your local /proc/self/cgroup file. 第二行从本地/proc/self/cgroup文件中获取容器ID。

    Third line curls out to the host machine (assuming you're using 4243 as docker's port) then uses node to parse the returned JSON for the DESIRED_PORT . 第三行缩小到主机(假设您使用4243作为docker的端口),然后使用node解析DESIRED_PORT返回的JSON。


    #6楼

    For those running Docker in AWS, the instance meta-data for the host is still available from inside the container. 对于在AWS中运行Docker的用户,仍可以从容器内部获得主机的实例元数据

    curl http://169.254.169.254/latest/meta-data/local-ipv4
    

    For example: 例如:

    $ docker run alpine /bin/sh -c "apk update ; apk add curl ; curl -s http://169.254.169.254/latest/meta-data/local-ipv4 ; echo"
    fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/main/x86_64/APKINDEX.tar.gz
    fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/community/x86_64/APKINDEX.tar.gz
    v3.3.1-119-gb247c0a [http://dl-cdn.alpinelinux.org/alpine/v3.3/main]
    v3.3.1-59-g48b0368 [http://dl-cdn.alpinelinux.org/alpine/v3.3/community]
    OK: 5855 distinct packages available
    (1/4) Installing openssl (1.0.2g-r0)
    (2/4) Installing ca-certificates (20160104-r2)
    (3/4) Installing libssh2 (1.6.0-r1)
    (4/4) Installing curl (7.47.0-r0)
    Executing busybox-1.24.1-r7.trigger
    Executing ca-certificates-20160104-r2.trigger
    OK: 7 MiB in 15 packages
    172.31.27.238
    
    $ ifconfig eth0 | grep -oP 'inet addr:\K\S+'
    172.31.27.238
    
    展开全文
  • 主要介绍了docker 指定IP地址、与主机同网段IP,非常具有实用价值,需要的朋友可以参考下
  • docker修改默认docker0 ip cat /etc/docker/daemon.json 在此文件中添加如下一行,然后重启服务。 {  "bip": "192.168.200.1/24" } systemctl restart docker 当然还可以加入其他信息,如dns ...

    docker修改默认docker0 ip
    cat /etc/docker/daemon.json 在此文件中添加如下一行,然后重启服务。
    {
        "bip": "192.168.200.1/24"
    }
    systemctl restart docker
    当然还可以加入其他信息,如dns ,默认网关等
    {
        "bip": "192.168.102.1/24",
        "mtu": 1500,
        "default-gateway": "192.168.102.1",
        "dns": ["dns1","dns2"]
    }
    ==============================================================
    远程管理其他docker机器
    cat /etc/docker/daemon.json 在此文件中添加如下一行,然后重启服务。
    {
        "bip": "192.168.200.1/24"
        "hosts": ["tcp://0.0.0.02375","unix:///var/run/docker.sock"]
    }
    systemctl restart docker

    ss -tnl看看2375是否启动

    然后去另一台机器
    docker -H IP:2375 ps

    展开全文
  • 宿主机ip docker.for.mac.host.internal 如宿主机mysql docker.for.mac.host.internal:3306

    宿主机ip
    docker.for.mac.host.internal

    如宿主机mysql
    docker.for.mac.host.internal:3306

    展开全文
  • 如何获取docker宿主机ip

    万次阅读 2016-10-13 10:23:07
    获取docker宿主机ip 本文转自[记录无限:www.gluoo.cn]. 在开发调试过程中,很可能遇到类似的情况: 宿主机跑着一个DB,不管是MySQL还是MongoDB,总之跑在宿主机,docker里运行着应用程序,但程序要连...

    获取docker宿主机ip

    本文转自[记录无限: www.gluoo.cn ].

    在开发调试过程中,很可能遇到类似的情况:

    宿主机跑着一个DB,不管是MySQL还是MongoDB,总之跑在宿主机,docker里运行着应用程序,但程序要连宿主机的DB时,不知道其IP咋办?

    解决方案:

    alias hostip="ifconfig en0 | grep inet | grep -v inet6 | cut -d ' ' -f2"  && docker run --add-host=docker:$(hostip) .....

    比如运行在docker里运行一个nodejs应用:

    alias hostip="ifconfig en0 | grep inet | grep -v inet6 | cut -d ' ' -f2"  && docker run --add-host=docker:$(hostip) -p 3001:3000 -v node start.js

    展开全文
  • 我们可以从一台安装了docker的机器访问另一台安装了docker的机器。一般情况下我们使用当前机器的docker客户端访问当前机器的Server端。下面演示如何访问其他docker服务端。 第一台IP:192.168.12.3 第二台IP:192...
  • Docker主机转发器 Docker Host Forwarder是一个最小的容器,可用于在Docker容器和Docker主机之间转发流量。 这是针对的简单修复 特征 容器的入口点(/entrypoint.sh)将确定主机的IP,并将其添加到名称为host....
  • 自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点...此种方式是将容器的某个端口映射到宿主机的某个端口,其它主机访问容器提供的服务需要通过宿主机IP进行访问: docker run -p 9000:8000 --name c...
  • Mac宿主主机无法ping通docker容器ip

    千次阅读 2020-04-07 19:03:17
    在安装azkaban时候发现无法在宿主主机上调用https://ip:8443这个uri,确认docker中的服务启动,继续尝试ping容器发现无法ping通。慢慢就发现了新大陆。下边就开启追溯原因和探索解决方案: mac下的宿主无法ping通...
  • windows宿主机访问docker容器ip无法ping通 容器IP [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6NwQa8Ri-1598711927304)...
  • docker容器访问宿主机IP

    千次阅读 2019-04-02 14:09:00
    宿主机执行ifconfig会看到docker0那个ip,可以使用来访问宿主机 转载于:https://www.cnblogs.com/yanglei-xyz/p/10642300.html
  • 本篇文章主要介绍了Docker 如何分配宿主机网段 IP,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Docker Machine远程部署docker主机环境

    千次阅读 2018-04-17 22:57:15
    Docker Machine
  • 通过 ifconfig 是找不到 ip 的,然后 需要找到一个宿主机ip 可以通过 域名 来访问: 查询docker 版本命令: docker --version Docker for Mac v 17.12 以上版本 直接使用: docker.for.mac.host.internal Docker ...
  • 自从Docker容器出现以来,容器的网络通信就一直是被关注的...此种方式是将容器的某个端口映射到宿主机的某个端口,其它主机访问容器提供的服务需要通过宿主机IP进行访问: docker run -p 9000:8000 --name cen...
  • mac下docker从容器内部访问宿主机ip

    万次阅读 2020-01-09 20:20:46
    有两种情况: 1、有网络的情况下: ...通过 ifconfig 是找不到 ip 的,然后 需要找到一个宿主机ip 可以通过 域名 来访问: docker.for.mac.host.internal 可以 ping 或者 用 telnet ip port 来测试一下 ...
  • 但是容器中无法知道宿主机的ip和映射端口,即eureka上的实例不知道暴露给外部的什么访问IP和端口(宿主机IP和宿主机port)。 请教各位大神,此问题该如何解决,谢谢! **【docker显示宿主机的随机端口32773映射...
  • docker 共享IP

    2018-07-17 17:40:51
    1、先启一台容器 docker run -it busybox:latest /bin/sh 2、docker run -it --network container:c1dea180b49f busybox:latest /bin/sh 查看两边的ip 都一样  
  • 10 Docker主机间创建GRE Tunnel准备两台安装Docker的主机,网络分配和拓扑如下: 停止Docker进程,删除网桥docker0ubuntu@ubuntu:~$ sudo su root@ubuntu:/home/ubuntu# service docker stop docker stop/waiting ...
  • docker 获取容器ipDocker provides the ability to package and run an application in a loosely isolated environment called a container. Docker提供了在松散隔离的环境(称为容器)中打包和运行应用程序的功能。 ...
  • Docker 部署 Spring Cloud并让docker容器使用宿主机ip 使用系统、软件版本: linux 版本: [root@VM_0_17_centos docker]# uname -a Linux VM_0_17_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC ...
  • 查看docker容器Ip地址

    千次阅读 2018-12-19 18:33:38
    Docker内需要访问本机的数据库,如何访问。使用127.0.0.1肯定是不行的,因为这...docker inspect --format={{.NetworkSettings.IPAddress}} 容器id 例: [root@iZwz947of4lcxm9pai1f8vZ api]# docker inspect --fo...
  • Docker 容器的内网IP无法直接访问, 为方便在本机进行调试代码,在本机配置了一条静态路由可以解决这个问题, ...route -p add 172.17.0.0 MASK 255.255.0.0 Docker宿主机IP 宿主机防火墙上放通docker0网络的限制. ...
  • docker默认ip地址修改

    千次阅读 2019-10-10 14:04:49
    通常情况下docker服务安装后,docker默认使用的网络IP段是172.17.0.1/24,这样容易对实际环境造成冲突。为了解决这个问题,我们介绍一个可行的解决办法 本文基于centos7以上 实施步骤 停止docker服务 systemctl ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,880
精华内容 28,352
关键字:

docker主机ip