启动一个没有网卡的DOcker容器,(创建一个容器,然后启动) 手动添加网卡至容器并改名为eth0, 另一端添加至docker0 并命名为自己姓名全拼, 实现容器与docker0、 容器 与 宿主机IP地址的 连通性。
时间: 2023-05-11 17:04:02 浏览: 155
可以通过以下步骤实现:
1. 创建一个没有网卡的Docker容器:docker create --name mycontainer ubuntu
2. 手动添加网卡至容器并改名为eth0:docker network connect --interface eth0 bridge mycontainer
3. 另一端添加至docker0并命名为自己姓名全拼:ip link add dev <your_full_name> type veth peer name veth0
4. 将veth0添加至docker0:brctl addif docker0 veth0
5. 将veth0重命名为eth0:ip link set dev veth0 name eth0
6. 启动容器:docker start mycontainer
现在,容器与docker0、容器与宿主机IP地址之间应该已经连通了。
相关问题
在Linux中用docker启动一个没有网卡的容器,手动添加网卡至容器并改名为eth0,另一端添加至docker0并命名为shidunyv
可以通过以下命令在Linux中使用docker启动一个没有网卡的容器,并手动添加网卡至容器并改名为eth0,另一端添加至docker0并命名为shidunyv:
1. 首先,使用以下命令启动一个没有网卡的容器:
docker run --rm -it --cap-add=NET_ADMIN --cap-add=NET_RAW --device /dev/net/tun --name mycontainer ubuntu:latest /bin/bash
2. 然后,在容器中使用以下命令添加网卡并改名为eth0:
ip link add eth0 type veth peer name shidunyv
ip link set eth0 up
ip addr add 192.168.0.2/24 dev eth0
3. 最后,在宿主机中使用以下命令将另一端添加至docker0并命名为shidunyv:
ip link set shidunyv netns $(docker inspect --format '{{.State.Pid}}' mycontainer)
ip netns exec $(docker inspect --format '{{.State.Pid}}' mycontainer) ip link set shidunyv up
ip netns exec $(docker inspect --format '{{.State.Pid}}' mycontainer) ip addr add 192.168.0.1/24 dev shidunyv
这样,你就成功地在Linux中使用docker启动一个没有网卡的容器,并手动添加网卡至容器并改名为eth0,另一端添加至docker0并命名为shidunyv。
阅读全文