Linux下docker1.7.1安裝(yum安裝和離線安裝)
以下版本的CentOS 支援 Docker :
l CentOS 7 (64-bit)
l CentOS 6.5 (64-bit) or later
檢視系統版本指令:
cat /etc/issue
1.docker 1.7.1安裝
這裡提供兩種安裝方式,yum安裝和離線安裝包安裝。
1.1 yum方式安裝
安裝epel
CentOS 內建的yum命令安裝非常的簡單實用,能自動幫助我們解決依賴,但centos內建的yum源可用的軟體偏少或者版本過低,通常我們需要使用一些第三方的yum源,這裡可以選擇安裝兩個比較常用和權威的yum源,epel或remi。這裡安裝epel
yum install -y epel-release
安裝docker
- CentOS-7安裝docker
Docker 軟體包已經包含在預設的 CentOS-Extras 軟體源裡,安裝命令如下:
$ sudo yum install docker
- CentOS-6.5安裝docker-io
在 CentOS-6 中,一個系統自帶的可執行的應用程式與 docker 包名字發生衝突,所以 我們重新命名 docker 的RPM包名字為 docker-io
yum install docker-io
docker配置檔案所在路徑:/etc/sysconfig/docker
啟動docker
# 加入開機啟動
$ sudochkconfig docker on
#開始執行 Docker daemon
$ sudoservice docker start
#檢視狀態是否啟動成功
$ sudoservice docker status
1.2 離線安裝包安裝
上傳docker安裝包和所需依賴到伺服器目錄下。
分別執行以下指令進行依賴包安裝,最後安裝docker1.7.1
rpm -ivh libcgroup-0.40.rc1-23.el6.x86_64.rpm
rpm -ivh lxc-libs-1.0.9-1.el6.x86_64.rpm
rpm -ivh lua-alt-getopt-0.7.0-1.el6.noarch.rpm
rpm -ivh lua-filesystem-1.4.2-1.el6.x86_64.rpm
rpm -ivh lua-lxc-1.0.9-1.el6.x86_64.rpm
rpm -ivh lxc-1.0.9-1.el6.x86_64.rpm
安裝device-mapper-libs,不安裝後面啟動docker會報錯(忽略依賴安裝)
rpm -ivh device-mapper-libs-1.02.117-12.el6.x86_64.rpm --force --nodeps
啟動docker
# 加入開機啟動
$ sudo chkconfig docker on
#開始執行 Docker daemon
$ sudo service docker start
#檢視狀態是否啟動成功
1.3 安裝問題
1. 啟動後檢視狀態發現未啟動成功,顯示docker dead
檢視docker的版本號,包括客戶端、服務端、依賴的Go等顯示無法連線docker demo
解決:debug方式啟動一下docker發現報錯如下
應該是libmapper有關,需要升級下這個庫:
yum-config-manager --enable public_ol6_latest
yum install device-mapper-event-libs
重啟docker demo
$ sudo service docker restart
注意:CentOS 中firewall的底層是使用iptables進行資料過濾,建立在iptables之上,這可能會與Docker 產生衝突。當firewalld 啟動或者重啟的時候,將會從iptables 中移除DOCKER 的規則,從而影響了Docker 的正常工作。
當你使用的是 Systemd 的時候,firewalld 會在Docker 之前啟動,但是如果你在 Docker啟動之後再啟動 或者重啟firewalld ,你就需要重啟Docker 程序了。