1. 程式人生 > >CentOS6.5安裝Docker 阿里雲伺服器centos6.5 安裝docker報錯的問題解決方案

CentOS6.5安裝Docker 阿里雲伺服器centos6.5 安裝docker報錯的問題解決方案



筆者這裡是用CnetOS6.5系統,開始安裝Docker之旅:
 
[[email protected] ~]# uname -r
2.6.32-431.el6.x86_64
 
[[email protected] ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m

注意其他的源可能導致你的核心和docker的版本不一致,需要升級核心至3.x。
 
安裝:

[[email protected] ~]# rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.JN76fI: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
  1:epel-release          ########################################### [100%]
[

[email protected] ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

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

啟動並設定開機自動啟動

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

[email protected] ~]# chkconfig docker on

獲取cnetos映象

[[email protected] ~]# docker pull centos:latest
centos:latest: The image you are pulling has been verified
511136ea3c5a: Pull complete 
5b12ef8fd570: Pull complete 
34943839435d: Downloading [===>                                              ] 18.38 MB/232.5 MB 1h7m49s
 

#官方安裝方式docker pull imagename從docker的索引中心下載,imagename是映象名稱,例如docker pull Ubuntu就是下載base ubuntu並且tag是latest。

我們還可以搜尋基於 Fedora 和 Ubuntu 作業系統的容器。

[[email protected] ~]# docker search ubuntu
[[email protected] ~]# docker search fedora

檢視docker映象
 
[[email protected] ~]# docker images centos
REPOSITORY          TAG                IMAGE ID            CREATED                  VIRTUAL SIZE
centos              latest              34943839435d        Less than a second ago  224 MB

執行docker執行shell
 
[[email protected] ~]# docker run -i -t centos /bin/bash
[[email protected] /]# 
[[email protected] /]# 
[[email protected] /]# 
[[email protected] /]#

停止容器

[[email protected] ~]# docker stop <CONTAINER ID>

刪除所有容器

docker rm $(docker ps -a -q)

檢視docker的子命令,直接敲docker 或完整的docker help 就可以 
 
常用命令

總結一下常用命令:

其中<>闊起來的引數為必選,[]闊起來為可選 

  • docker version 檢視docker的版本號,包括客戶端、服務端、依賴的Go等
  • docker info 檢視系統(docker)層面資訊,包括管理的images, containers數等
  • docker search  在docker index中搜索image
  • docker pull  從docker registry server 中下拉image
  • docker push  推送一個image或repository到registry
  • docker push :TAG 同上,指定tag
  • docker inspect  檢視image或container的底層資訊
  • docker images TODO filter out the intermediate image layers (intermediate image layers 是什麼)
  • docker images -a 列出所有的images
  • docker ps 預設顯示正在執行中的container
  • docker ps -l 顯示最後一次建立的container,包括未執行的
  • docker ps -a 顯示所有的container,包括未執行的
  • docker logs  檢視container的日誌,也就是執行命令的一些輸出
  • docker rm  刪除一個或多個container
  • docker rm `docker ps -a -q` 刪除所有的container
  • docker ps -a -q | xargs docker rm 同上, 刪除所有的container
  • docker rmi  刪除一個或多個image
  • docker start/stop/restart  開啟/停止/重啟container
  • docker start -i  啟動一個container並進入互動模式
  • docker attach  attach一個執行中的container
  • docker run  使用image建立container並執行相應命令,然後停止
  • docker run -i -t  /bin/bash 使用image建立container並進入互動模式, login shell是/bin/bash
  • docker run -i -t -p  將container的埠對映到宿主機的埠
  • docker commit  [repo:tag] 將一個container固化為一個新的image,後面的repo:tag可選
  • docker build
  •  尋找path路徑下名為的Dockerfile的配置檔案,使用此配置生成新的image
  • docker build -t repo[:tag] 同上,可以指定repo和可選的tag
  • docker build -  使用指定的dockerfile配置檔案,docker以stdin方式獲取內容,使用此配置生成新的image
  • docker port  檢視本地哪個埠對映到container的指定埠,其實用docker ps 也可以看到

CentOS 6/7系列安裝Docker http://www.linuxidc.com/Linux/2014-07/104768.htm

Docker的搭建Gitlab CI 全過程詳解 http://www.linuxidc.com/Linux/2013-12/93537.htm

Docker安裝應用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm

在Ubuntu Trusty 14.04 (LTS) (64-bit)安裝Docker http://www.linuxidc.com/Linux/2014-10/108184.htm

Docker安裝應用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

Ubuntu 14.04安裝Docker  http://www.linuxidc.com/linux/2014-08/105656.htm

阿里雲CentOS 6.5 模板上安裝 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm

Docker 的詳細介紹請點這裡
Docker 的下載地址請點這裡

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-01/111091.htm
 




阿里雲伺服器centos6.5 安裝docker報錯的問題解決方案

2016年07月31日 19:31:24 閱讀數:2214

首先確認你的linux核心版本

# lsb_release -a
  • 1

LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch 
Distributor ID: CentOS 
Description: CentOS release 6.5 (Final) 
Release: 6.5 
Codename: Final

# uname -a
  • 1

Linux xxxxxxx 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

因為 Docker 推薦使用 3.8 以上核心,所以我們選擇使用 YUM 方式來升級核心

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
# yum --enablerepo=elrepo-kernel install kernel-lt -y
  • 1
  • 2
  • 3
# vi /etc/grub.conf 
  • 1

修改預設的啟動核心,新安裝的核心一般在第一個,這裡把default = 1 改為 default = 0 就好了

reboot重啟主機檢查核心是否升級

升級核心後還是報錯

報錯資訊

#docker info
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
  • 1
  • 2
# docker -d
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 
docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
  • 1
  • 2
  • 3

根據CentOS 6.5上嘗試docker遇到的幾個問題

應該是libmapper有關,需要升級下這個庫:

 #yum-config-manager --enable public_ol6_latest
 #yum install device-mapper-event-libs

首先確認你的linux核心版本

# lsb_release -a
  • 1

LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch 
Distributor ID: CentOS 
Description: CentOS release 6.5 (Final) 
Release: 6.5 
Codename: Final

# uname -a
  • 1

Linux xxxxxxx 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

因為 Docker 推薦使用 3.8 以上核心,所以我們選擇使用 YUM 方式來升級核心

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
# yum --enablerepo=elrepo-kernel install kernel-lt -y
  • 1
  • 2
  • 3
# vi /etc/grub.conf 
  • 1

修改預設的啟動核心,新安裝的核心一般在第一個,這裡把default = 1 改為 default = 0 就好了

reboot重啟主機檢查核心是否升級

升級核心後還是報錯

報錯資訊

#docker info
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
  • 1
  • 2
# docker -d
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 
docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
  • 1
  • 2
  • 3

根據CentOS 6.5上嘗試docker遇到的幾個問題

應該是libmapper有關,需要升級下這個庫:

 #yum-config-manager --enable public_ol6_latest
 #yum install device-mapper-event-libs