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

 

posted @ 2021-01-05 09:44  南风丶轻语  阅读(571)  评论(0编辑  收藏  举报