centos 安装docker 提示 Object "netns" is unknown, try

使用Docker,需要用到ip netns命令来创建网络;Centos6.x默认不支持network namespaces;

在shell中会看到下面的信息:

# ip netns
Object "netns" is unknown, try "ip help".

Centos6.x要获取network namespaces的支持需要升级Centos的内核和更新iproute软件包:

1.升级内核

这里通过yum快速升级CentOS 6.x内核到3.10:

# rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
# yum --enablerepo=elrepo-kernel install kernel-lt -y

在grub.conf中确认装好的内核在哪个位置:

# vi /etc/grub.conf
default=0

重启系统,后查看内核信息:

# uname -r
3.10.65-1.el6.elrepo.x86_64

2.更新iproute软件包

安装软件源:

# yum install -y http://rdo.fedorapeople.org/rdo-release.rpm

更新rdo-release.repo文件为以下内容:

# cat /etc/yum.repos.d/rdo-release.repo 
[openstack-juno]
name=OpenStack Juno Repository
baseurl=http://repos.fedorapeople.org/repos/openstack/openstack-havana/epel-6/
enabled=1
skip_if_unavailable=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Juno

升级iproute软件包:

# yum upgrade iproute
...
$ rpm -qa | grep iproute
iproute-2.6.32-130.el6ost.netns.2.x86_64

3.常用的namespace的命令

添加一个namespace:

# ip netns add NETNSNAME

在namespace中新加一个设备:

# ip link set [dev-name] netns NETNSNAME

在namespace中启用一个设备:

# ip netns exec NETNSNAME ip link set lo up

查看指定namespace中指定设备的参数信息:

# ip netns exec NAETNSNAME ip addr show  [dev-name]  permanent scope global

为namespace中指定设备设置ip:

# sudo ip netns exec NETNSNAME ip -4 addr add 192.168.1.231/24 brd 192.168.1.255 scope global dev [dev-name]

查看所有network namespace:

# ip netns list

ping虚拟机实例:

# ip netns exec [name] ping 192.168.1.231


你可能感兴趣的:(centos 安装docker 提示 Object "netns" is unknown, try)