中标麒麟(龙芯CPU)--docker基础镜像制作
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 的出现为开发人员和运维人员带来了极大的便利。Docker在X86下常见的发行版Linux如Ubuntu、Centos上应用非常成熟,教程也非常多。本文基于龙芯平台(Mips64)+中标麒麟操作系统总结一下Docker的实践过程。
环境:
主机:龙芯3B3000
操作系统:中标麒麟server7.0
1、安装Docker
中标默认yum源里有Docker安装包,直接安装:
[root@192 ~]# yum install docker
[root@192 ~]# systemctl start docker
[root@192 ~]# docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 1.13.1
... ..
启动docker后使用docker info可以看到docker版本是1.13.1
2、制作Docker基础镜像
基础镜像制作方法常见的有两种:
第一种是本地直接打包然后导入:
# tar --exclude=/usr/lib32 --exclude=/sys -cPvf nk-base.tar /usr 此命令将本机运行的操作系统打成一个.tar包,可以使用--exclude参数将不需要的目录进行排除,可排除多个目录。文件打包支持的类型只有.tar, .tar.gz, .tgz, .bzip, .tar.xz等几种格式。打包完成后放在/usr目录下。 # cat nk-base.tar | docker import - nk-base 将制作的tar包使用docker import镜像导入,并命令为:nk-base: # docker run -i -t nk-base /bin/bash 使用docker命令启动镜像。
-i 以交互模式运行容器
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
/bin/bash是指在容器启动后容器内执行的命令
第二种方式也非常简单,直接使用脚本来制作:
脚本地址:https://raw.githubusercontent.com/docker/docker/master/contrib/mkimage-yum.sh
# wget https://raw.githubusercontent.com/docker/docker/master/contrib/mkimage-yum.sh # chmod a+x ./mkimage-yum.sh # ./mkimage-yum.sh -y /etc/yum.conf nk-base
执行完成后,基础镜像就创建成功了,使用docker images查看一下:
[root@192 hxb]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nk-base 7.4 a1942dd1e289 1 hours ago 383 MB