先在docker hub上拉取一个image,作为base image
docker pull busybox
然后查看这个image,进入到这个image里ping不通外网
docker image ls | grep busybox
docker run -it busybox
ping www.baidu.com
退出image后,重新进入,只不过这时候要加一个参数 --network host,这参数是让容器的网络跟主机一样,也就是Linux虚拟机一样,如果Linux不能连接公网,那即使加了这个参数后image也不能连接公网。加--name参数指定这运行的container名字。进入image后就可以ping通外网了。
docker run -it --network host --name net-image busybox
ping www.baidu.com
能访问公网后,退出来后执行docker container ls -a 命令后能看到刚刚运行的container,也能看到该容器的名字。这时候就可以基于这个container创建一个可以访问公网的image了
docker container ls -a | grep net-image
docker commit net-image new-net-image-busybox
docker image ls | grep new