首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >私有注册表映像使network_mode主机不使用本地IP

私有注册表映像使network_mode主机不使用本地IP
EN

Stack Overflow用户
提问于 2018-08-04 16:29:17
回答 1查看 55关注 0票数 0

因此,我在远程服务器(例如51.15.235.12:5000 )中运行私有注册表,并在本地将docker镜像推送到该注册表。我尝试使用主机IP和network_mode主机启动一个容器,但容器的ip类似于172.17.0.1

这是docker-compose:

代码语言:javascript
复制
version: '2'
services:
rsi:
    container_name: rsi
    image: localhost:5000/rsi:1.0
    restart: on-failure:10
    depends_on:
        - geoserver
        # - rsi-db
    network_mode: host

# Geoserver
geoserver:
    container_name: geoserver
    restart: always
    image: localhost:5000/geoserver:1.0
    network_mode: host
    logging:
        driver: "json-file"
        options:
            max-size: "10m"
            max-file: "10"
    environment:
        - GEOSERVER_LOG_LOCATION=/opt/geoserver/data_dir/logs/geoserver.log

这里的本地主机IP是51.15.235.12,但是当我进入rsi容器时,我在运行ifconfig时得到以下内容

代码语言:javascript
复制
docker0   Link encap:Ethernet  HWaddr 02:42:E5:09:B4:E9  
      inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0

为什么没有将docker0接口IP设置为本地主机IP,即51.15.235.12

EN

回答 1

Stack Overflow用户

发布于 2018-08-04 17:51:26

当您使用--net host时,您将共享主机的整个网络设置及其所有接口。容器没有自己的IP地址。您处于完全相同的网络环境中,就像您在主机上运行Apache一样:容器/进程没有自己的IP地址,它只是监听主机上的某个端口。

Docker守护进程创建一个docker0接口作为其内部网络设置的一部分。由于您使用的是主机网络堆栈,因此您将在接口列表中看到它。但这不是“容器的IP”。localhost (总是127.0.0.1,这很神奇)将指向主机系统。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51683839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档