我需要在一个docker容器中使用gdbserver。由于在主机中使用gdb是脚本化的,我需要为我的容器设置一个静态IP。
ifconfig的输出为:
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 ****::**:****:****:**** prefixlen 64 scopeid 0x20<link>
ether **:**:**:**:**:** txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 60 bytes 8931 (8.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我试过:
docker run --name "myContainerName" --ip 172.17.0.124 --rm -it -p 7777:7777 myImgae /bin/bash
但是在Docker中,我得到了ifconfig的输出:
eth0 Link encap:Ethernet HWaddr ***:**:**:**:**:**
inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2282 (2.2 KiB) TX bytes:0 (0.0 B)
我的容器的IP是172.17.0.2
,而不是我想要的172.17.0.124
所以我想知道ip选项如何与默认子网(docker0)一起工作
1条答案
按热度按时间x33g5p2x1#
正如答案所建议的那样,我找到了一个变通方法,即对我的debuggind会话使用“localhost”,而不是使用特定的ip地址