摘要:前提是都需要聯網,具體安裝過程如下。禁用安裝包在發行版的介質里面已經自帶了,可以從安裝。或如果出現問題,請在線安裝,下載文件。這一步執行之后,會在下生成兩個文件,用于從官網下載包。參考,在位安裝中文在上安裝原文鏈接地址
docker是什么就不多說了,見docker基礎原理介紹。
docker容器最早受到RHEL完善的支持是從最近的CentOS 7.0開始的,官方說明是只能運行于64位架構平臺,內核版本為2.6.32-431及以上(即>=CentOS 6.5,運行docker時實際提示3.8.0及以上),升級內核請參考CentOS 6.x 內核升級(2.6.32 -> 3.10.58)過程記錄
需要注意的是CentOS 6.5與7.0的安裝是有一點點不同的,CentOS-6上docker的安裝包叫docker-io,并且來源于Fedora epel庫,這個倉庫維護了大量的沒有包含在發行版中的軟件,所以先要安裝EPEL,而CentOS-7的docker直接包含在官方鏡像源的Extras倉庫(CentOS-Base.repo下的[extras]節enable=1啟用)。前提是都需要聯網,具體安裝過程如下。
bash# getenforce enforcing # setenforce 0 permissive # vi /etc/selinux/config SELINUX=disabled ...2. 安裝 Fedora EPEL
epel-release-6-8.noarch.rpm包在發行版的介質里面已經自帶了,可以從rpm安裝。
bash# yum install epel-release-6-8.noarch.rpm //或 yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
如果出現GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6問題,請在線安裝epel,下載RPM-GPG-KEY-EPEL-6文件。
這一步執行之后,會在/etc/yum.repos.d/下生成epel.repo、epel-testing.repo兩個文件,用于從Fedora官網下載rpm包。
bash# uname -r 2.6.32-431.el6.x86_64 # cat /etc/redhat-release CentOS release 6.5 (Final)
看到這個最低的內核版本,事實運行起來是沒太大問題的,你也可以升級到3.10.x版本。
另外你也可以運行腳本check-config.sh,來檢查內核模塊符不符合(下面有些missing的,我的docker還是可以正常啟動):
[root@sean ~]# ./check-config warning: /proc/config.gz does not exist, searching other paths for kernel config... info: reading kernel config from /boot/config-2.6.32-431.el6.x86_64 ... Generally Necessary: - cgroup hierarchy: properly mounted [/cgroup] - CONFIG_NAMESPACES: enabled - CONFIG_NET_NS: enabled - CONFIG_PID_NS: enabled - CONFIG_IPC_NS: enabled - CONFIG_UTS_NS: enabled - CONFIG_DEVPTS_MULTIPLE_INSTANCES: enabled - CONFIG_CGROUPS: enabled - CONFIG_CGROUP_CPUACCT: enabled - CONFIG_CGROUP_DEVICE: enabled - CONFIG_CGROUP_FREEZER: enabled - CONFIG_CGROUP_SCHED: enabled - CONFIG_MACVLAN: enabled - CONFIG_VETH: enabled - CONFIG_BRIDGE: enabled - CONFIG_NF_NAT_IPV4: missing - CONFIG_IP_NF_TARGET_MASQUERADE: enabled - CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: missing - CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled - CONFIG_NF_NAT: enabled - CONFIG_NF_NAT_NEEDED: enabled Optional Features: - CONFIG_MEMCG_SWAP: missing - CONFIG_RESOURCE_COUNTERS: enabled - CONFIG_CGROUP_PERF: enabled - Storage Drivers: - "aufs": - CONFIG_AUFS_FS: missing - CONFIG_EXT4_FS_POSIX_ACL: enabled - CONFIG_EXT4_FS_SECURITY: enabled - "btrfs": - CONFIG_BTRFS_FS: enabled - "devicemapper": - CONFIG_BLK_DEV_DM: enabled - CONFIG_DM_THIN_PROVISIONING: enabled - CONFIG_EXT4_FS: enabled - CONFIG_EXT4_FS_POSIX_ACL: enabled - CONFIG_EXT4_FS_SECURITY: enabled
假如你是自己編譯內核,請特別留意幾個絕對不能缺少的:DM_THIN_PROVISIONING、IP_NF_TARGET_MASQUERADE、NF_NAT。(AUFS_FS沒有對應選項,還不清楚怎么回事,但不是必須)
4. 安裝 docker-io# yum install docker-io Dependencies Resolved =========================================================================================== Package Arch Version Repository Size =========================================================================================== Installing: docker-io x86_64 1.1.2-1.el6 epel 4.5 M Installing for dependencies: lua-alt-getopt noarch 0.7.0-1.el6 epel 6.9 k lua-filesystem x86_64 1.4.2-1.el6 epel 24 k lua-lxc x86_64 1.0.6-1.el6 epel 15 k lxc x86_64 1.0.6-1.el6 epel 120 k lxc-libs x86_64 1.0.6-1.el6 epel 248 k Transaction Summary =========================================================================================== Install 6 Package(s)
許多文檔介紹到這里,下一步為掛載/cgroup文件系統,我的docker版本為1.1.2,沒有修改/etc/fstab的步驟。
5. 啟動試運行bash# service docker start //或 # docker -d6. 異常
在我的一次安裝過程中,很不幸遇到下面的問題:
docker -d啟動,或tail -f /var/log/docker查看日志
[f32e7d9f] +job initserver() [f32e7d9f.initserver()] Creating server [f32e7d9f] +job serveapi(unix:///var/run/docker.sock) 2014/10/22 13:02:45 Listening for HTTP on unix (/var/run/docker.sock) Error running DeviceCreate (createPool) dm_task_run failed [f32e7d9f] -job initserver() = ERR (1) 2014/10/22 13:02:45 Error running DeviceCreate (createPool) dm_task_run failed Wed Oct 22 14:35:54 CST 2014
再或者是service docker restart
Stopping docker: [ OK ] Starting cgconfig service: Error: cannot mount cpuset to /cgroup/cpuset: Device or resource busy /sbin/cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed Failed to parse /etc/cgconfig.conf [FAILED] Starting docker: [ OK ]
Unable to enable network bridge NAT: iptables failed: iptables -I POSTROUTING -t nat -s 172.17.42.1/16 ! -d 172.17.42.1/16 -j MASQUERADE: iptables v1.4.7: can"t initialize iptables table `nat": Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded.
上面的三個異常都是由于內核模塊的缺失導致的,這也是自己編譯內核來升級帶來的風險,于是就有了sciurus的kernel-ml-aufs的rpm包(見參考的第一個鏈接)。
7. 參考Installing docker.io on centos 6.4 (64-bit),在 CentOS 6.4(64位) 安裝 docker.io [中文]
在 CentOS 6.4 上安裝 docker
Official Installing Docker Docs CentOS-6
Troubleshooting:
Error: cannot mount cpuset to /cgroup/cpuset: Device or resource busy
Error running DeviceCreate (createPool) dm_task_run failed
原文鏈接地址:http://seanlook.com/2014/10/26/docker-installed-centos6-successfully/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26351.html
摘要:第篇安裝以及常用操作命令講解一大致介紹本章節主要帶入大家初步進入,體驗一下的安裝步驟以及操作命令。 SpringCloud(第 052 篇)CentOS7 安裝 Docker 以及常用操作命令講解 - 一、大致介紹 本章節主要帶入大家初步進入 Docker,體驗一下docker的安裝步驟以及操作命令。 二、安裝步驟 2.1 Docker環境部署要求 1、Docker 需要運行在 64-...
摘要:第篇安裝以及常用操作命令講解一大致介紹本章節主要帶入大家初步進入,體驗一下的安裝步驟以及操作命令。 SpringCloud(第 052 篇)CentOS7 安裝 Docker 以及常用操作命令講解 - 一、大致介紹 本章節主要帶入大家初步進入 Docker,體驗一下docker的安裝步驟以及操作命令。 二、安裝步驟 2.1 Docker環境部署要求 1、Docker 需要運行在 64-...
摘要:重啟系統,選擇內核系統啟動后,確認當前運行的內核以守護模式運行在一個新的終端里重置的運行環境,從而解決上述問題。安裝了新的內核,就存在啟動時的選擇問題,這個要通過修改文件來實現。加載后會啟動進程。 最近折騰centos6,需要在其上配置docker,而以前都是在ubuntu上玩的,網上的文章沒有找到一個讓我直接能配成功的,多少都會有些坑,綜合了幾篇文章,折騰了老久,終于成功了。 ...
摘要:重啟系統,選擇內核系統啟動后,確認當前運行的內核以守護模式運行在一個新的終端里重置的運行環境,從而解決上述問題。安裝了新的內核,就存在啟動時的選擇問題,這個要通過修改文件來實現。加載后會啟動進程。 最近折騰centos6,需要在其上配置docker,而以前都是在ubuntu上玩的,網上的文章沒有找到一個讓我直接能配成功的,多少都會有些坑,綜合了幾篇文章,折騰了老久,終于成功了。 ...
閱讀 3200·2021-09-06 15:02
閱讀 2247·2019-08-30 15:48
閱讀 3443·2019-08-29 11:08
閱讀 3285·2019-08-26 13:55
閱讀 2444·2019-08-26 13:35
閱讀 3165·2019-08-26 12:11
閱讀 2601·2019-08-26 11:48
閱讀 888·2019-08-26 11:42