Docker容器

Hyper-V虚拟机设置固定IP

2019-08-27  本文已影响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 镜像到虚拟机中的私有仓库了。折腾了一早上,这波有点亏啊。。

上一篇下一篇

猜你喜欢

热点阅读