最近需要制作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

...















    

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐