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] ~]# yum -y install docker-io
啟動並設定開機自動啟動
[[email protected] ~]# service docker start
Starting cgconfig service: [確定]
Starting docker: [確定]
[
獲取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
應該是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
應該是libmapper有關,需要升級下這個庫:
#yum-config-manager --enable public_ol6_latest
#yum install device-mapper-event-libs