如何查看与容器关联的网络适配器。
我启动了一个应用程序,该应用程序启动了50个Docker容器并在Ubuntu 18.04系统上创建了50个“虚拟”网络适配器。
我可以使用public class Main {
public ArrayList<Card> cardsList = new ArrayList<>();
public static void main (String [] args){
Main myApp = new Main();
}
public void printAll (ArrayList<Card> cardArrayList){
System.out.println(cardArrayList);
HandDrawn sender1 = new HandDrawn("Anna", true);
HandDrawn sender2 = new HandDrawn("Kalle", false);
cardsList.add(0, sender1);
cardsList.add(1, sender2);
}
public void printing(ArrayList<Card> cardsList) {
System.out.println(cardsList);
}
}
查看网络适配器。它显示的是ipv6,但不显示ipv4。
我还可以使用SET testTool="c:\path\VSTest.Console.exe"
SET testAssembly=""pathForDll\first.dll" "pathForDll\second.dll""
SET coverTool="path\OpenCover.Console.exe"
SET reportTool="path\ReportGenerator.exe"
SET coverXML="OpenCoverResults\OpenCover.xml"
SET coverReportLocation="CoverageReport"
SET history="OpenCoverResults\History\"
echo CoverTool
%coverTool% -target:%testTool% -targetargs:%testAssembly% -mergebyhash -skipautoprops -register:user
-hideskipped:All -filter:"+[*]*" -output:%coverXML%
echo ReportTool
%reportTool% -reports:%coverXML% -targetdir:%coverReportLocation%
start c:\1.PROJECTS\ARIA\Others\Scripts\CoverageReport\index.htm
`
查看docker容器ipv4,但不能查看ipv6。
我还没有找到将网络适配器与Docker容器关联的方法。
答案 0 :(得分:0)
运行此命令以找到docker网络ID:
docker network ls --no-trunc
NETWORK ID NAME DRIVER SCOPE
1849dpjmcnj7ckw4q2svhvj4r base_default overlay swarm
然后检查它:
docker inspect <container_name> | grep "1849dpjmcnj7ckw4q2svhvj4r"
"Target": "1849dpjmcnj7ckw4q2svhvj4r",
"NetworkID": "1849dpjmcnj7ckw4q2svhvj4r",
答案 1 :(得分:0)
您可以检查第ve对的接口ifindex:
brctl show docker0
要查看Docker桥中的第ve个接口,现在使用此脚本,您可以查看您的容器正在使用哪个接口:
#!/bin/bash
for i in $(ip link list | awk -F '@' '/veth/ {split($2,a,":"); print a[1]}' | sed 's/if//g');do
for dock in $(docker ps --quiet);do
dock_index=$(docker exec -ti $dock cat /sys/class/net/eth0/ifindex | sed 's/\r$//')
if [[ $i == $dock_index ]]; then
echo "$i $dock"
fi
done
done