Docker 离线制作基于ubuntu的tftp
1、下载一个原始的模板压缩包
链接:https://download.openvz.org/template/precreated/
文件名:ubuntu-16.04-x86_64.tar.gz
2、导入模板压缩包为镜像
docker import -m 'test docker for http,dhcp' ubuntu-16.04-x86_64.tar.gz docker-ubuntu-dhcp-tftp:dhcp-tftp
备注:
①-m 备注
②docker-ubuntu-dhcp-tftp:dhcp-tftp 对应仓库:TAG
③ docker import -m 'test docker for http,dhcp'(说明信息) ubuntu-16.04-x86_64.tar.gz(模板压缩包) docker-ubuntu-dhcp-tftp:dhcp-tftp【镜像(仓库:TAG)】
3、使用镜像启动一个容器,安装tftp
(1)后台运行一个容器
docker run -itd --name tftp_dhcp_container docker-ubuntu-dhcp-tftp:dhcp-tftp /bin/bash
(2)进入docker容器创建一个文件夹用于存在安装包
docker attach tftp_dhcp_container
cd /home
mkdir tftp_package
(3)拷贝tftp安装包到容器
参考链接:https://www.cnblogs.com/rainbow-tan/p/14075115.html
docker cp xinetd_2.3.15.3-1_amd64.deb tftp_dhcp_container:/home/tftp_package/
docker cp tftpd-hpa_5.2+20150808-1ubuntu3_amd64.deb tftp_dhcp_container:/home/tftp_package/
docker cp tftp-hpa_5.2+20150808-1ubuntu3_amd64.deb tftp_dhcp_container:/home/tftp_package/
(4)安装tftp并配置
参考链接:https://www.cnblogs.com/rainbow-tan/p/14075115.html
sudo dpkg -i xinetd_2.3.15.3-1_amd64.deb sudo dpkg -i tftpd-hpa_5.2+20150808-1ubuntu3_amd64.deb sudo dpkg -i tftp-hpa_5.2+20150808-1ubuntu3_amd64.deb
3、导出新的镜像
docker commit -m 'tftp end' tftp_dhcp_container tftp_container
备注:
①-m 说明
②tftp_dhcp_container 是之前镜像的名字
③tftp_container 是保存的名字
4、保存镜像为文件,方便拷贝到另一台机器上使用
参考链接:https://www.cnblogs.com/lsgxeva/p/8746644.html
docker save -o tftp_image.tar tftp_container
保存后可看到tar文件
5、另一个机器测试导出的tar是否可行
(1)加载刚才导出的tar文件为镜像
docker load < tftp_image.tar
(2)启动镜像
①后台启动镜像,映射端口,挂载目录(-v 宿主机地址:容器地址),指定网络连接类型为host,这样宿主机才可以进行tftp的访问
备注:
必须指定网络类型为host,这样才可以进行在容器外的tftp的连接
挂载目录后,容器内的目录中原有的文件找不到了,完完全全是宿主机的目录
docker run -itd -p 69:69 -v /home/tftpboot:/var/lib/tftpboot --net="host" --name test_tftp3 tftp_container
②进入容器,启动tftp
docker exec -it test_tftp3 /bin/bash
通过蓝色框内容可看到已经进去了,因为路径变了。docker命令没了,这个exec和attach都可进入容器,关键在于退出时exit,前者不会关闭容器,后者会关闭容器。
/etc/init.d/tftpd-hpa start
netstat -a |grep tftp
③退出容器,在容器外进行tftp的测试(也可以开一个新的窗口,这样就有一个窗口是宿主机,有一个是容器,操作更方便)
exit
④同一局域网测试tftp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示