这里举两个例子,都是基于alpine linux镜像制作的,优点是非常小,自带常用网络相关命令,使用方便。
注意:在EVE-NG中使用,需要PRO版本。
1.iperf3
iperf3是一个打流工具,用于网络性能测试。
1.编写Dockerfile
vi Dockerfile
FROM alpine:3.23.3
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
&& apk update \
&& apk add iperf3 \
&& apk cache clean
EXPOSE 5201/tcp
CMD ["sleep", "infinity"]
2.生成镜像
#注意最后的空格和点
docker build --network=host -t iperf3:3.19.1 .
3.导出镜像
docker save iperf3:3.19.1 -o iperf3__3.19.1.tar
2.bgp_simple
bgp_simple是一个以bgp协议向路由器注入路由的工具,基于perl编写。bgp_simple_4byteAS是修改后支持4字节AS号的版本。
./bgp_simple.pl -myas 100 -myip 172.172.1.241 -peerip 172.172.0.50 -peeras 100 -p isp_simple
-myas 100 #本机AS号
-myip 172.172.1.241 #本机IP
-peerip 172.172.0.50 #对端IP
-peeras 100 #对端AS号
-p isp_simple #需要注入的路由文件,格式如下
root@eve-ng:~/docker-image/bgp_simple# cat isp_simple
TABLE_DUMP2|1453305600|B|202.249.2.185|25152|1.1.8.0/24|25152 2914 4134|IGP|202.249.2.185|0|0|2914:420 2914:1408 2914:2401 2914:3400|NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.1.8.0/24|2497 4134|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.12.0.0/14|2497 4134 4847 18245|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.185|25152|1.12.0.0/14|25152 2914 4134 4847 18245|IGP|202.249.2.185|0|0|2914:420 2914:1408 2914:2401 2914:3400|NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.18.128.0/24|2497 4134 4847 24151 23596|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.185|25152|1.18.128.0/24|25152 6939 4134 4847 24151 23596|IGP|202.249.2.185|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.185|25152|1.48.0.0/15|25152 2914 4134|IGP|202.249.2.185|0|0|2914:420 2914:1408 2914:2401 2914:3400|NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.48.0.0/15|2497 4134|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.185|25152|1.50.0.0/16|25152 2914 4134|IGP|202.249.2.185|0|0|2914:420 2914:1408 2914:2401 2914:3400|NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.50.0.0/16|2497 4134|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.51.144.0/20|2497 4134 4538|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.51.160.0/21|2497 4134 4538|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.51.168.0/21|2497 4134 4538|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.51.176.0/20|2497 4134 4538|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.51.192.0/18|2497 4134 4538|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.55.9.0/24|2497 4134 18403|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.55.123.0/24|2497 4134 18403|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.55.185.0/24|2497 4134 18403|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.55.202.0/24|2497 4134 18403|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.55.222.0/24|2497 4134 18403|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.55.226.0/24|2497 4134 18403|IGP|202.249.2.169|0|0||NAG||
TABLE_DUMP2|1453305600|B|202.249.2.169|2497|1.55.228.0/24|2497 4134 18403|IGP|202.249.2.169|0|0||NAG||
1.准备好相关文件
wget https://cpan.metacpan.org/authors/id/S/SS/SSCHECK/Net-BGP-0.18.tar.gz
tar -xf Net-BGP-0.18.tar.gz
chmod 755 *.pl
chmod 755 *.sh
root@eve-ng:~/docker-image/bgp_simple# ls -lh
total 144K
-rwxr-xr-x 1 root root 21K Jul 20 2025 bgp_simple_4byteAS1.pl
-rwxr-xr-x 1 root root 22K Jul 20 2025 bgp_simple_4byteAS.pl
-rwxr-xr-x 1 root root 21K Jan 21 2016 bgp_simple.pl
-rw-r--r-- 1 root root 347 Feb 4 16:18 Dockerfile
-rw-r--r-- 1 root root 2.4K Feb 4 15:59 isp_simple
drwxr-xr-x 4 root root 4.0K Dec 2 2021 Net-BGP-0.18
-rw-r--r-- 1 root root 55K Dec 3 2021 Net-BGP-0.18.tar.gz
-rwxr-xr-x 1 root root 93 Feb 4 16:13 run_bgp_simple.sh
2.编写Dockerfile
FROM alpine:3.23.3
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
&& apk update \
&& apk add perl \
&& apk cache clean
ADD Net-BGP-0.18/lib/ /usr/local/lib/perl5/site_perl/
ADD bgp_simple.pl bgp_simple_4byteAS.pl bgp_simple_4byteAS1.pl isp_simple run_bgp_simple.sh /root/
CMD ["sleep", "infinity"]
3.生成镜像
docker build --network=host -t bgp_simple:0.12 .
root@eve-ng:~/docker-image/bgp_simple# docker build --network=host -t bgp_simple:0.12 .
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/
Sending build context to Docker daemon 385.5kB
Step 1/5 : FROM alpine:3.23.3
---> a40c03cbb81c
Step 2/5 : RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update && apk add perl && apk cache clean
---> Using cache
---> 233a3b88b21d
Step 3/5 : ADD Net-BGP-0.18/lib/ /usr/local/lib/perl5/site_perl/
---> Using cache
---> 104e8c8a9037
Step 4/5 : ADD bgp_simple.pl bgp_simple_4byteAS.pl bgp_simple_4byteAS1.pl isp_simple run_bgp_simple.sh /root/
---> dded2bfae31e
Step 5/5 : CMD ["sleep", "infinity"]
---> Running in 171ac9ca3132
---> Removed intermediate container 171ac9ca3132
---> 280471d4f450
Successfully built 280471d4f450
Successfully tagged bgp_simple:0.12
4.导出镜像
docker save bgp_simple:0.12 -o bgp_simple__0.12.tar