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