CentOS7下安裝docker


背景

​ 最近在研究開源數據庫,由於機器存儲空間有限。計划把個人的測試環境等遷移到docker上去,方便后續加快完成搭建等工作,把時間用到該用的地方去。

集成環境

​ 個人測試環境,我與IT人無異都是喜歡把部分環境放到虛擬機上。

項目 描述
操作系統 CentOS Linux release 7.6.1810 x86_64
內存 2G
硬盤大小 30G
CPU Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
DOCKER 18.09.1-3.el7 (stable)
虛擬機軟件 Oracle VM VirtualBox 6.0.2

網絡狀況

項目 連接方式 描述
網卡1 Host-Only 用於本機連接虛擬機
網卡2 NAT 用於公共環境下訪問外網,如wlan
網卡3 Bridge 用於辦公/家庭網絡情況下訪問外網

OS禁用項目列表

  • NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
  • Firewalld
systemctl stop firewalld
systemctl disable firewalld
  • selinux

修改文件/etc/selinux/config

SELINUX=enforcing    ---->把值調整為disabled

安裝過程、遇到問題及其解決方案

  • 更新yum資源庫,以便后續安裝時可以不會因版本問題導致安裝報錯。
yum update
  • 卸載已安裝的docker組件
yum remove docker  docker-common docker-selinux docker-engine
  • 安裝docker所需依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
  • 把docker-ce的資源文件下載到本地
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

在執行過程中,有以下報錯提示:

Loaded plugins: fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 14] curl#6 - "Could not resolve host: download.docker.com; Unknown error"

由於我安裝環境經過N層代理和防火牆,判斷為網絡問題。直接下載repo文件到本地並在服務器存放目錄下執行:

# yum-config-manager --add-repo docker-ce.repo
Loaded plugins: fastestmirror            ------->從這開始是執行結果
adding repo from: docker-ce.repo
grabbing file docker-ce.repo to /tmp/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
  • 查看docker可安裝版本
yum list docker-ce --showduplicates | sort -r
Loading mirror speeds from cached hostfile       ------>以下開始是結果
Loaded plugins: fastestmirror
docker-ce.x86_64            3:18.09.1-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.0-3.el7                     docker-ce-stable
docker-ce.x86_64            18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.0.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.3.ce-1.el7                    docker-ce-stable
docker-ce.x86_64            17.03.2.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos             docker-ce-stable
Available Packages
  • 安裝docker-ce軟件

默認安裝最新版本:

yum install docker-ce

如需安裝特定版本:

yum install docker-ce-18.09.0

在過程中,以下是報錯提示:

# yum install docker-ce
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 3:18.09.1-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.1-3.el7.x86_64
--> Processing Dependency: containerd.io for package: 3:docker-ce-18.09.1-3.el7.x86_64
--> Processing Dependency: docker-ce-cli for package: 3:docker-ce-18.09.1-3.el7.x86_64
--> Processing Dependency: libcgroup for package: 3:docker-ce-18.09.1-3.el7.x86_64
--> Running transaction check
---> Package containerd.io.x86_64 0:1.2.2-3.el7 will be installed
---> Package docker-ce.x86_64 3:18.09.1-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.1-3.el7.x86_64
---> Package docker-ce-cli.x86_64 1:18.09.1-3.el7 will be installed
--> Processing Dependency: libltdl.so.7()(64bit) for package: 1:docker-ce-cli-18.09.1-3.el7.x86_64
---> Package libcgroup.x86_64 0:0.41-20.el7 will be installed
--> Running transaction check
---> Package docker-ce.x86_64 3:18.09.1-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.1-3.el7.x86_64
---> Package libtool-ltdl.x86_64 0:2.4.2-22.el7_3 will be installed
--> Finished Dependency Resolution
Error: Package: 3:docker-ce-18.09.1-3.el7.x86_64 (docker-ce-stable)
           Requires: container-selinux >= 2.9
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

在yum安裝的過程中,發現缺失包container-selinux,而且版本是2.9以上。我翻遍了全網,並沒有找到這個包。最后無奈之下,在centos官網下載了一個container-selinux-2.74的RPM包嘗試看看。

# yum install container-selinux-2.74-1.el7.noarch.rpm 
Loaded plugins: fastestmirror
..........                              ------>這里省略了N行信息
Installed:
  container-selinux.noarch 2:2.74-1.el7                                                                                          

Dependency Installed:
  audit-libs-python.x86_64 0:2.8.4-4.el7      checkpolicy.x86_64 0:2.5-8.el7                  libcgroup.x86_64 0:0.41-20.el7     
  libsemanage-python.x86_64 0:2.5-14.el7      policycoreutils-python.x86_64 0:2.5-29.el7      python-IPy.noarch 0:0.75-6.el7     
  setools-libs.x86_64 0:3.3.8-4.el7          

Complete!

接下來,嘗試繼續安裝docker-ce。

yum install docker-ce

問題解決,但由於網絡問題,下載了N久都是在報錯。又開啟了老辦法模式,下載包到本地進行安裝。

根據yum資料庫的分析

=================================================================================================================================
 Package                        Arch                    Version                          Repository                         Size
=================================================================================================================================
Installing:
 docker-ce                      x86_64                  3:18.09.1-3.el7                  docker-ce-stable                   19 M
Installing for dependencies:
 containerd.io                  x86_64                  1.2.2-3.el7                      docker-ce-stable                   22 M
 docker-ce-cli                  x86_64                  1:18.09.1-3.el7                  docker-ce-stable                   14 M
 libtool-ltdl                   x86_64                  2.4.2-22.el7_3                   Base                               49 k

一共需要4個依賴包,其中libtool-ltdl在Base下,即在光盤中,無需下載。其他3個依賴包就需要在docker的網站上進行下載。下載並上傳到本地,使用yum命令進行安裝:

yum install docker-ce-cli-18.09.1-3.el7.x86_64.rpm
yum install containerd.io-1.2.2-3.el7.x86_64.rpm
yum install docker-ce-18.09.1-3.el7.x86_64.rpm

當顯示Complete!時,檢查安裝版本:

# systemctl start docker
# docker version
Client:                                                 ------->以下開始為結果
 Version:           18.09.1
 API version:       1.39
 Go version:        go1.10.6
 Git commit:        4c52b90
 Built:             Wed Jan  9 19:35:01 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       4c52b90
  Built:            Wed Jan  9 19:06:30 2019
  OS/Arch:          linux/amd64
  Experimental:     false

至此,我的心情有多雞凍呀!之前雖然在ubuntu上安裝過,但是無那么多問題。這次真算是好事多磨了。

趕緊設置開機自啟動:

systemctl enable docker


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM