美文网首页Docker容器
Hyper-V虚拟机设置固定IP

Hyper-V虚拟机设置固定IP

作者: 程序员七哥 | 来源:发表于2019-08-27 16:58 被阅读0次

    最近在学习Docker,需要安装一下linux虚拟机,发现Hyper-V搭建还真的挺方便的,我是Windows10自带的,不用在下载软件了。

    由于想要使用Docker私有仓库,在虚拟机中运行registry后,发现本地一直push不上去,网络不通,报错如下:

    docker push dial tcp 172.17.116.18:5000: connect: no route to host
    

    结果就开始了一早上的排错历程,网上找了很多都没有跟我情况相同可以直接搞定的。

    所以只能自己搞了,网络可以ping通,但是telnet不上,发现使用Hyper-V安装后,使用默认的虚拟交换机。但是默认的虚拟交换机的 IP 和本机的IP是不在一个网段的,因此怀疑是网络问题。 所以我就想尝试下将虚拟机的IP设为固定的。结果发现果然是好的,具体Docker的结果就不展示了,归根到底还是对网络知识匮乏导致的。 主要记录下如何在使用Hyper-V 安装虚拟机设置固定IP

    我的配置环境:其他linux发行版只有第一步不同,可自行google

    虚拟机:ubuntu18.04

    物理机:windows10

    设置虚拟机固定IP

    需给虚拟机设置一个固定的网段以及静态IP,我这里使用192.168.137.X的网段

    Ubuntu 18.04 采用netplan作为网络配置管理,不需要重启系统

    sudo   vi /etc/netplan/50-cloud-init.yaml
    
    network:
        ethernets:
            eth0:
                addresses: [192.168.137.200/24]
                gateway4: 192.168.137.1
                dhcp4: true
                optional: true
        version: 2
                  
    
    sudo  netplan apply 
    

    DNS配置(不改也可以的)

    DNS还是使用 resolv.conf

    sudo vi /etc/resolv.conf

    Hyper-V上面的虚拟网络设置

    打开Hyper-V上的虚拟交换机管理器:

    1

    新建虚拟网络交换机,选择内部网络,点击确定, 输入名称:

    2

    右键选中需要设置的虚拟机的设置选项,弹出如下框,选择刚才新建的 ubuntu 的虚拟交换机,点击确定,之后便可重启虚拟机使之生效:

    3

    物理机上面的网络设置

    我本机使用的是win10,打开控制面板->网络和共享中心->更改适配器设置;

    找到刚刚在hyper-v上新增的虚拟网络交换机,右键选择属性 --> 选择如下IPv4协议 --> 设置如下IP地址和子网掩码,其他可留空,IP地址必须是192.168.X.1的设置,这里的X=137是刚才我们在ubuntu上设置的网段,需保持一致。

    4

    以上设置好后就可以在本地物理机访问虚拟机了,如下我们ping 下刚才的192.168.137.200,可见是可以ping得通的,这时就可以使用xshell等终端进行连接操作了:

    5

    设置虚拟机连接外网

    若在虚拟机上有需要访问外网的操作,则在控制面板->网络和共享中心->更改适配器设置中,选中此时物理机使用的网卡,右键属性点击共享选项,如下选中复选框,再选择hyper-v上我们新建的网络,点击确定,这样操作之后我们的虚拟机就可以共享访问到外部的网络了。

    6

    最后可以在虚拟机中使用 ping www.baidu.com 进行验证。

    这样配置后,我的Docker也可以 push 镜像到虚拟机中的私有仓库了。折腾了一早上,这波有点亏啊。。

    相关文章

      网友评论

        本文标题:Hyper-V虚拟机设置固定IP

        本文链接:https://www.haomeiwen.com/subject/ekreectx.html