【從零開始搭建K8S】【第一篇】CentOS7.6離線安裝Docker(手動安裝以及基於yum本地源安裝)

  1. 下載CentOS7.6以及最小化安裝CentOS7.6版本。因爲CentOS屬於開源軟件,在國內也有不少的mirror站點可供下載,我選擇的是華爲站點進行下載:http://mirrors.huaweicloud.com/centos/7.6.1810/isos/x86_64/
  2. 最小化安裝完成以後須要禁用防火牆以及SElinux配置:
    systemctl disable firewalld systemctl stop firewalld vim /etc/selinux/config

     

  3. 最小化安裝完成以後,因爲不少安裝包不具有,影響調試,須要基於ISO配置本地yum源,安裝一些依賴包。
    1. 建立本地目錄,並將ISO文件上傳到目錄中。本例中以/mnt/iso和/mnt/yumiso爲例:
      mkdir -p /mnt/iso             #將CentOS的ISO上傳到此目錄
      mkdir -p /mnt/yumiso
    2. 掛載本地目錄,若是要實現開機自動掛載,須要編輯/etc/fstab,增長以下代碼「/mnt/iso/CentOS-7-x86_64-DVD-1810.iso /mnt/yumiso iso9660 loop,defaults 0 0」:
      mount -o loop /mnt/iso/CentOS-7-x86_64-DVD-1810.iso /mnt/yumiso/
    3. 備份原始yum源文件目錄,建立新的yum源文件:
      mv /etc/yum.repos.d /etc/yum.repos.d.bak mkdir /etc/yum.repos.d vi /etc/yum.repos.d/CentOS-local.repo
    4. 在文件中增長以下內容:
      #本源的名字(不能和其餘重複) [base-local] name=CentOS7.2-local #步驟2中掛載鏡像建立的目錄 baseurl=file:///mnt/yumiso
       #啓動yum源: 1-啓用 0-不啓用 enabled=1 #安全檢測: 1-開啓 0-不開啓 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    5. 建立完成以後,分別執行以下命令清空並從新創建yum緩存,查看是否建立成功:
      yum clean all yum makecache yum repolist

    6. 執行以下命令,安裝net-tools、vim、createrepo組件,方便後續操做:
      yum -y install net-tools #安裝網絡工具 yum -y install vim #安裝vim yum -y install createrepo    #爲安裝docker作準備,可支持配置本地文件夾爲yum源目錄
  4. 下載並安裝Docker安裝包和依賴包,下載路徑:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/,須要下載的文件以下:
    [root@k8s-node2~]# ll /opt/app/docker/ total 60024
    -rw-r--r--. 1 root root 27119348 Jul 29 14:15 containerd.io-1.2.6-3.3.el7.x86_64.rpm -rw-r--r--. 1 root root    39688 Jul 29 14:15 container-selinux-2.99-1.el7_6.noarch.rpm -rw-r--r--. 1 root root 19603424 Jul 29 14:15 docker-ce-18.09.7-3.el7.x86_64.rpm -rw-r--r--. 1 root root 14692900 Jul 29 14:15 docker-ce-cli-18.09.7-3.el7.x86_64.rpm
  5. 純手動離線安裝docker,須要手動獲取以下安裝包,若是你們嚴格按照個人步驟來,能夠在ISO中獲取「/mnt/yumiso/Packages」:
    [root@k8s-master~]# ll *.rpm -rw-r--r--. 1 root root  78216 Jul 26 18:23 audit-libs-python-2.8.4-4.el7.x86_64.rpm -rw-r--r--. 1 root root 302068 Jul 26 18:23 checkpolicy-2.5-8.el7.x86_64.rpm -rw-r--r--. 1 root root  67652 Jul 26 18:23 libcgroup-0.41-20.el7.x86_64.rpm -rw-r--r--. 1 root root  56988 Jul 26 18:23 libseccomp-2.3.1-3.el7.x86_64.rpm -rw-r--r--. 1 root root 115284 Jul 26 18:23 libsemanage-python-2.5-14.el7.x86_64.rpm -rw-r--r--. 1 root root 466616 Jul 26 18:23 policycoreutils-python-2.5-29.el7.x86_64.rpm -rw-r--r--. 1 root root  32880 Jul 26 18:23 python-IPy-0.75-6.el7.noarch.rpm -rw-r--r--. 1 root root 635184 Jul 26 18:23 setools-libs-3.3.8-4.el7.x86_64.rpm

    可使用rpm -ivh依次安裝上述依賴包,安裝完成後,再安裝docker安裝包,這種方式比較簡單,就再也不一一介紹步驟了,詳細的順序以下:node

    rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm rpm -ivh libcgroup-0.41-20.el7.x86_64.rpm rpm -ivh libseccomp-2.3.1-3.el7.x86_64.rpm rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm rpm -ivh audit-libs-python-2.8.4-4.el7.x86_64.rpm rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm rpm -ivh python-IPy-0.75-6.el7.noarch.rpm rpm -ivh policycoreutils-python-2.5-29.el7.x86_64.rpm rpm -ivh container-selinux-2.99-1.el7_6.noarch.rpm rpm -ivh containerd.io-1.2.6-3.3.el7.x86_64.rpm rpm -ivh docker-ce-cli-18.09.7-3.el7.x86_64.rpm rpm -ivh docker-ce-18.09.7-3.el7.x86_64.rpm
  6. 基於本地yum源使用yum方式安裝docker步驟以下:
    1. 將步驟3中下載的四個docker安裝包上傳到目錄中,好比:/opt/app/docker
    2. 使用createrepo將本地目錄添加爲yum源,此時會在這個目錄下自動建立一些文件:
      createrepo /opt/app/docker/
    3. 建立docker安裝源文件,方式和步驟2相同:
      cd /etc/yum.repos.d vim docker.repo
    4. 文件中增長以下內容:
      [docker] name=docker baseurl=file:///opt/app/docker/
       enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Centos-7
    5. 建立完成以後,分別執行以下命令清空並從新創建yum緩存,查看是否建立成功:
      yum clean all yum makecache yum repolist
    6. 執行命令查看docker-ce是否可以查詢到:
      yum list docker-ce

    7. 執行以下命令,離線安裝docker
      yum -y install docker-ce
  7. docker安裝完成以後,須要執行以下命令,設置docker的一下基礎配置,如開機自動啓動等等:
    systemctl enable docker #開機自動啓動docker systemctl start docker #啓動docker進程 vi /lib/systemd/system/docker.service #編輯docker服務配置文件,在ExecStart命令以前增長以下配置(可選,這個在安裝K8S的時候纔有用): ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT systemctl daemon-reload systemctl stop docker systemctl start docker #使上述配置生效
相關文章
相關標籤/搜索