溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CentOS6.X下Docker如何安裝

發(fā)布時間:2021-11-12 14:07:33 來源:億速云 閱讀:129 作者:小新 欄目:云計算

小編給大家分享一下CentOS6.X下Docker如何安裝,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

[X] 一、禁用selinux

由于Selinux和LXC有沖突,所以需要禁用selinux.編輯/etc/selinux/config,設(shè)置兩個關(guān)鍵變量.

SELINUX=disabled
SELINUXTYPE=targeted
[X] 二、安裝Fedora EPEL源
rpm -ivh ./epel-release-6-8.noarch.rpm  
或者:  
#yum install http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
[X] 三、添加hop5.repo源
cp ./hop5.repo /etc/yum.repos.d        
或者:  
#cd /etc/yum.repos.d        
#wget http://www.hop5.in/yum/el6/hop5.repo
[X] 四、安裝Docker
yum安裝
[X] 升級帶aufs模塊的3.10內(nèi)核((可選)
yum install kernel-ml-aufs kernel-ml-aufs-devel
  1. 修改grub的主配置文件/etc/grub.conf,設(shè)置default=0,表示第一個title下的內(nèi)容為默認啟動的kernel(一般新安裝的內(nèi)核在第一個位置)。

  2. 重啟系統(tǒng)reboot now,

  3. 然后執(zhí)行uname -r,查看是否已經(jīng)是3.10內(nèi)核!

[root@localhost ~]# uname -r
3.10.5-3.el6.x86_64

  1. 執(zhí)行grep aufs /proc/filesystems,查看內(nèi)核是否支持aufs!

[root@localhost ~]# grep aufs /proc/filesystems
nodev aufs

[X] 安裝docker
yum install redhat-lsb

yum install iptables
chkconfig ip6tables off
chkconfig iptables off
service ip6tables stop
service iptables stop

yum install device-mapper-libs
yum install libcgroup*
yum install docker-io

如果報錯:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

解決辦法是編輯/etc/yum.repos.d/epel.repo,把基礎(chǔ)的恢復(fù),鏡像的地址注釋掉

#baseurl
mirrorlist

改成

baseurl
#mirrorlist

然后執(zhí)行: yum clean all
=============================================================================================================================================================================================================================================
 Package                                                       Arch                                                  Version                                                       Repository                                           Size
=============================================================================================================================================================================================================================================
Installing:
 docker-io                                                     x86_64                                                1.2.0-3.el6                                                   epel                                                4.2 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)

Downloading Packages:
(1/6): docker-io-1.2.0-3.el6.x86_64.rpm                                                                                                                                                                               | 4.2 MB     00:02
(2/6): lua-alt-getopt-0.7.0-1.el6.noarch.rpm                                                                                                                                                                          | 6.9 kB     00:00
(3/6): lua-filesystem-1.4.2-1.el6.x86_64.rpm                                                                                                                                                                          |  24 kB     00:00
(4/6): lua-lxc-1.0.6-1.el6.x86_64.rpm                                                                                                                                                                                 |  15 kB     00:00
(5/6): lxc-1.0.6-1.el6.x86_64.rpm                                                                                                                                                                                     | 120 kB     00:00
(6/6): lxc-libs-1.0.6-1.el6.x86_64.rpm                                                                                                                                                                                | 248 kB     00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
rpm手工安裝:

先執(zhí)行

rpm --nodeps -ev $(rpm -qa | grep -i 'device-mapper-libs-')
rpm --nodeps -ev $(rpm -qa | grep -i 'device-mapper-')
rpm --nodeps -ev $(rpm -qa | grep -i 'device-mapper-event-libs-')
rpm --nodeps -ev $(rpm -qa | grep -i 'device-mapper-event-')

rpm -ivh ./device-mapper-event-1.02.90-2.el6.x86_64.rpm ./device-mapper-event-libs-1.02.90-2.el6.x86_64.rpm ./device-mapper-1.02.90-2.el6.x86_64.rpm ./device-mapper-libs-1.02.90-2.el6.x86_64.rpm

再執(zhí)行

rpm -ivh ./lxc-libs-1.0.6-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.6-1.el6.x86_64.rpm
rpm -ivh ./lxc-1.0.6-1.el6.x86_64.rpm
#6.4版本以下需要 rpm -ivh ./libcgroup-0.40.rc1-5.el6.x86_64.rpm
rpm -ivh ./docker-io-1.3.2-2.el6.x86_64.rpm
[X] 五、初步驗證docker

輸入docker -h,如果有如下輸出,就證明docker在形式上已經(jīng)安裝成功.

# docker -h 
Usage of docker: 
  -D=false: Enable debug mode 
  -H=[]: Multiple tcp://host:port or unix://path/to/socket to bind in daemon mode, single connection otherwise 
  -api-enable-cors=false: Enable CORS headers in the remote API 
  -b="": Attach containers to a pre-existing network bridge; use 'none' to disable container networking
  -bip="": Use this CIDR notation address for the network bridge's IP, not compatible with -b 
  -d=false: Enable daemon mode 
  -dns=[]: Force docker to use specific DNS servers 
  -g="/var/lib/docker": Path to use as the root of the docker runtime 
  -icc=true: Enable inter-container communication 
  -ip="0.0.0.0": Default IP address to use when binding container ports 
  -iptables=true: Disable docker's addition of iptables rules 
  -p="/var/run/docker.pid": Path to use for daemon PID file
  -r=true: Restart previously running containers 
  -s="": Force the docker runtime to use a specific storage driver 
  -v=false: Print version information and quit
[X] 六 、啟動docker服務(wù):
service docker start
#docker -d -H unix:///var/run/docker.sock
[X] 七 、查找映象:

docker search 映象名字 從index.docker.io搜尋所需鏡像. 去https://index.docker.io獲取鏡像相關(guān)的信息.

[X] 八 、進入 Docker 容器:

創(chuàng)建vi /bin/docker-enter.sh

#!/bin/sh

if [ -e $(dirname "$0")/nsenter ]; then
  # with boot2docker, nsenter is not in the PATH but it is in the same folder
  NSENTER=$(dirname "$0")/nsenter
else
  NSENTER=nsenter
fi

if [ -z "$1" ]; then
  echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"
  echo ""
  echo "Enters the Docker CONTAINER and executes the specified COMMAND."
  echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."
else
  PID=$(docker inspect --format "{{.State.Pid}}" "$1")
  if [ -z "$PID" ]; then
    exit 1
  fi
  shift

  OPTS="--target $PID --mount --uts --ipc --net --pid --"

  if [ -z "$1" ]; then
    # No command given.
    # Use su to clear all host environment variables except for TERM,
    # initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,
    # and start a login shell.
    "$NSENTER" $OPTS su - root
  else
    # Use env to clear all host environment variables.
    "$NSENTER" $OPTS env --ignore-environment -- "$@"
  fi
fi

加上可執(zhí)行chmod +x /bin/docker-enter.sh 運行docker-enter.sh <container id>,這樣就進入到指定的容器中!

[X] 附錄:低版本的Redhat(6.3)可能要手動掛載cgroup

我們首選禁用cgroup對應(yīng)服務(wù)cgconfig.

  service cgconfig stop # 關(guān)閉服務(wù) 
  chkconfig cgconfig off # 取消開機啟動

然后掛載cgroup,可以命令行掛載

  mount -t cgroup none /cgroup  #僅本次有效

或者修改配置文件,編輯/etc/fstab,加入

none                    /cgroup                 cgroup  defaults        0 0

以上是“CentOS6.X下Docker如何安裝”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI