将iso镜像转换为docker镜像
时间:2022-05-09 01:44
转自l
为什么不适用官方的镜像?
不是不想使用,而是官方镜像提供的功能实在是太少了,不信的话,你pull一个ubuntu:latest的进行,你看有没有wget、curl、ssh这些功能,就连最简单的ifconfig都没有,可谓是最纯净、最精简的操作系统。
方法1:iso已经安装进虚拟机
这个方法,
方法很简单,就是进入虚拟机中,然后将某些目录的文件打成tar包,有了tar包之后,再使用docker的import命令来创建镜像。
本次测试过程使用的ubuntu16.04桌面版。
过程如下:
打包操作:
iso镜像1.62G,打出的tar包5.6G,时间稍长,10分钟左右,大概是在虚拟机里面的原因。
→ ~ #cd / → ~ # tar -cf ./image.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot .
将打出的包拷贝到一个安装了docker的环境,如果本地有docker的话,就可以不用移动。
导入操作
→ ~ # cat image.tar | docker import - ubuntu:16:04 sha256:e2b87a8f4f31657f9781b6dad1bdf423f3f3e62865995f4720852c81be0c4e96
查看导入的镜像
→ ~ $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 e2b87a8f4f31 29 minutes ago 4.97GB
运行新建的镜像
这里可能会遇到一个问题,就是尝试运行docker镜像的时候,会提示错误docker: Error response from daemon: No command specified.
即使是使用管理员权限来运行也是不行的,
→ ~ $ docker run -t -i ubuntu:16.04 docker: Error response from daemon: No command specified. See ‘docker run --help‘. → ~ $ sudo docker run -t -i ubuntu:16.04 Password: docker: Error response from daemon: No command specified. See ‘docker run --help‘.
正确方法:
→ ~ $ docker run -t -i ubuntu:16.04 docker: Error response from daemon: No command specified. See ‘docker run --help‘. → ~ $ docker run -t -i ubuntu:16.04 /bin/bash #正确方法 root@f0389c5d3270:/# wget www.baidu.com