Docker容器 安装 ping telnet vim curl ifconfig
官方nginx镜像只有个nginx,调试时不方便
因此在dokcer nginx的容器中安装 ping telnet vim curl ifconfig几个工具很有必要,虽然可以在dockerfile中添加
RUN apt-get update && apt-install xxx
命令,然后build的时候没有走国内源,导致生成镜像的时候奇慢无比,一番折腾也没有解决。对于内网只有通过tar包生成镜像只有另想办法,通过容器安装工具走国内源,然后通过容器生成镜像
1、在一台可以访问外网的宿主机运行docker
1 | docker run -it --name=nginx nginx /bin/bash |
2、在容器中修改docker中的镜像源,提高下载速度
1 2 3 4 5 | mv /etc/apt/sources .list /etc/apt/sources .list.bak echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free" > /etc/apt/sources .list echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free" >> /etc/apt/sources .list echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free" >> /etc/apt/sources .list echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free" >> /etc/apt/sources .list |
3、安装工具
1 | apt-get update && apt-get install -y curl telnet vim iputils- ping net-tools |
4、退出容器,在宿主机中通过容器导出docker镜像
1 | docker commit nginx my_nginx_image # 或者带版本号 docker commit nginx my_nginx_image:v1.0 |
5、查看并导出刚刚通过容器生成的镜像
1 | docker images |

docker save my_nginx_image -o my_nginx.tar
6、将my_nginx.tar复制到任意目标机运行
1 | docker load -i my_nginx. tar |
备注:其它类似镜像也可以使用相同方法,比如openjdk8的容器,可以在外网先用openjdk镜像运行容器,在容器中安装工具,然后利用容器生成自定义镜像,其它应用的dockerfile即可基于自己生成的这个自定义openjdk镜像来生成新的镜像。比如下图已经生成好带网络工具、vim的openjdk镜像
基于自定义openjdk的应用dockerfile内容举例
1 2 3 4 | FROM openjdk-with-tool:8 ADD app.jar CMD java -jar app.jar EXPOSE 8888 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器