由於centos6上的docker版本只能到1.7.1,爲了使用高版本的docker,虛擬機的系統版本需要更新到centos7。我採用的是vmware安裝vm,iso文件爲http://mirror.neu.edu.cn/centos/7/isos/x86_64/下的CentOS-7-x86_64-Minimal-1611.iso。
網絡的要求是:
1、虛擬機能訪問外網
2、宿主機能訪問到虛擬機
下面是網絡配置過程的記錄:
1、使用systemctl status network查看服務狀態,得到如下錯誤信息、
hdcoe02 network[597]: Bringing up interface enp0s25: Error: Connection activation failed: Connection 'enp0s25' is not available on the device enp0s25 at this time.
hdcoe02 network[597]: [FAILED]
hdcoe02 systemd[1]: network.service: control process exited, code=exited status=1
hdcoe02 systemd[1]: Failed to start LSB: Bring up/down networking.
hdcoe02 systemd[1]: Unit network.service entered failed state.
解決方法:
設定開機啓動一個名爲NetworkManager-wait-online服務,命令爲:
systemctl enable NetworkManager-wait-online.service
2、CentOS7中已經取消了ifconfig,用nmcli進行了代替
具體配置方法可參考:
http://blog.csdn.net/cmzsteven/article/details/49777667
https://my.oschina.net/ihanfeng/blog/601853
3、到此爲止虛擬機可以正常訪問外網,但宿主機上不能訪問虛擬機
發現broadcast是192.168.83.150,需要改成下圖的192.168.83.255
解決方法:
CentOS 7支持使用PREFIX以長度方式指明子網掩碼;之前的PREFIX是32,所以brd跟ip是一樣的,將PREFIX改成24就可以。
最終的ifcfg-ens33配置文件如下,重點的項紅框標出: