制作ubuntu完整版docker镜像
最近需要制作ubuntu14.04 server版完整docker镜像,并启动container(容器)用来编译kernel等。以下是步骤:一:获取ubuntu14.04 server版的完整根文件系统(rootfs)。 由于从ubuntu官网上下载是iso,不能直接作为docker镜像。所以有一个方法来获取它的完整跟文件系统(rootfs)。 1.在我
最近需要制作ubuntu14.04 server版完整docker镜像,并启动container(容器)用来编译kernel等。
以下是步骤:
一:获取ubuntu14.04 server版的完整根文件系统(rootfs)。
由于从ubuntu官网上下载是iso,不能直接作为docker镜像。所以有一个方法来获取它的完整跟文件系统(rootfs)。
1.在我的虚拟机中安装iso,进入系统后,进行一些软件的安装和系统设置,之后关机。
2.通过用ubuntu dosktop(桌面版)对虚拟机中已安装好的ubuntu 14.04 server版进行重新安装,当然不是真的安装,
在安装过程中选择 “try ubuntu...”,在进入ubuntu desktop中把之前安装好的ubuntu 14.04 server的完整rootfs打包复制到宿主机中。
二: 在本地机安装docker
sudo apt-get install curl
curl -sSL https://get.docker.com/ | sh
sudo usermod -aG docker username
------卸载docker方法: sudo apt-get autoremove dokcer lxc-docker --purge
三:编写Dockerfile,内容如下
test@SERVER:~/docker/docker_build$
test@SERVER:~/docker/docker_build$ cat Dockerfile
FROM scratch
COPY rootfs /
RUN chmod u+s /usr/bin/sudo
RUN chmod u+s /usr/bin/passwd
RUN chmod u+s /bin/su
RUN chmod u+s /bin/ping
RUN chmod u+s /bin/mount
RUN chmod u+s /bin/umount
USER ubuntu
WORKDIR /home/ubuntu
四:制作docker 镜像
test@SERVER:~/docker/docker_build$ ls rootfs
bin dev home lib lib64 media opt root sbin sys usr vmlinuz
boot etc initrd.img lib32 lost+found mnt proc run srv tmp var
test@SERVER:~/docker/docker_build$ls
Dockerfile rootfs
test@SERVER:~/docker/docker_build$
test@HTSAT-OPENLAB-SERVER:~/docker/docker_build$ sudo docker build -t ubuntu/server:14.04 .
........
执行sudo docker build -t ubuntu/server:14.04 . 后便生成docekr镜像。
五:使用docker镜像,生成容器
docker run -ti -v /home/test:/home/ubuntu ubuntu/server:14.04 /bin/bash
...
更多推荐
所有评论(0)