1. 程式人生 > >1 Docker介紹與安裝(CentOS 6.x環境)

1 Docker介紹與安裝(CentOS 6.x環境)

1 簡介

Docker是一個開源的應用容器引擎;是一個輕量級容器技術;

Docker支援將軟體編譯成一個映象;然後在映象中各種軟體做好配置,將映象釋出出去,其他使用者可以直接使用這個映象(與Windows映象相似)

執行中的這個映象稱為容器,容器啟動是非常快速的。

2 概念

docker主機(Host):
	安裝了Docker程式的機器(Docker直接安裝在作業系統之上);

docker客戶端(Client):
	連線docker主機進行操作;

docker倉庫(Registry):
	用來儲存各種打包好的軟體映象;

docker映象(Images):
	軟體打包好的映象;放在docker倉庫中;

docker容器(Container):
	映象啟動後的例項稱為一個容器;容器是獨立執行的一個或一組應用

3 使用步驟

1)安裝Docker

2)去Docker倉庫找到這個軟體對應的映象;

3)使用Docker執行這個映象,這個映象就會生成一個Docker容器;

4)對容器的啟動停止就是對軟體的啟動停止;


4 安裝Docker

4.1 檢查核心版本,必須是3.10及以上

[[email protected] ~]# uname -r 
2.6.32-573.el6.x86_64

4.2 升級核心版本

4.2.1 匯入public key
4.2.1.1 出現錯誤
[[email protected] /]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
curl: (35) SSL connect error error: https://www.elrepo.org/RPM-GPG-KEY-elrepo.org: import read failed(2).
4.2.1.2 解決錯誤
[[email protected] /]# yum update nss
4.2.1.3 成功匯入
[[email protected] /]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
4.2.2 安裝ELRepo
4.2.2.1 出現錯誤
[[email protected]
/]# rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm Retrieving http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm curl: (22) The requested URL returned error: 404 Not Found error: skipping http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm - transfer failed
4.2.2.2 成功匯入
[[email protected] /]# rpm -Uvh https://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
4.2.3 安裝kernel-lt
[[email protected] /]# yum --enablerepo=elrepo-kernel install kernel-lt -y
4.2.4 編輯grub.conf檔案,修改Grub引導順序
[[email protected] /]# vim /etc/grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda5
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda

// 改為0
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu

# 剛安裝的核心
title CentOS (4.4.166-1.el6.elrepo.x86_64)
        root (hd0,0)
        kernel /vmlinuz-4.4.166-1.el6.elrepo.x86_64 ro root=UUID=2177f1cb-f67d-4471-a796-7972eb35120f rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
        initrd /initramfs-4.4.166-1.el6.elrepo.x86_64.img
		
# 原有的核心
title CentOS 6 (2.6.32-573.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=2177f1cb-f67d-4471-a796-7972eb35120f rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-573.el6.x86_64.img

  • 將default=1修改為 default=0,儲存退出
4.2.5 重啟
[[email protected] /]# reboot
4.2.6 檢視核心
[[email protected] ~]# uname -r
4.4.166-1.el6.elrepo.x86_64

4.3 安裝Docker

4.3.1 安裝

[[email protected] ~]# [[email protected] ~]# yum -y install docker-io

# 如果安裝失敗,則執行下面命令,然後再次安裝
[[email protected] ~]# yum install epel-release

4.4 啟動docker

[[email protected] ~]# service docker start
Starting cgconfig service:                                 [確定]
Starting docker:	                                   [確定]

4.5 檢視版本號

[[email protected] ~]# docker version
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d/1.7.1
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d/1.7.1
OS/Arch (server): linux/amd64