Centos7中Docker的安裝

卸載舊版本

較舊的Docker版本稱爲docker或docker-engine。如果已安裝這些程序,請卸載它們以及相關的依賴項。

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

如果yum報告未安裝這些軟件包,此時就OK了。
/var/lib/docker/的內容(包括映像,容器,卷和網絡)被保留。 Docker Engine-Community軟件包現在稱爲docker-ce。

使用存儲庫安裝

在新主機上首次安裝Docker Engine-Community之前,需要設置Docker存儲庫。之後,您可以從存儲庫安裝和更新Docker

設置存儲庫
  1. 安裝所需的軟件包。yum-utils提供了yum-config-manager 效用,並device-mapper-persistent-datalvm2由需要 devicemapper存儲驅動程序。
$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

結果:
在這裏插入圖片描述
2.使用以下命令來設置穩定的存儲庫。

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

結果:
在這裏插入圖片描述

安裝DOCKER ENGINE - COMMUNITY

  1. 安裝最新版本的Docker Engine-Communitycontainerd,或者轉到下一步安裝特定版本:
$ sudo yum install docker-ce docker-ce-cli containerd.io

結果:
在這裏插入圖片描述

如果提示您接受GPG密鑰,請驗證指紋是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,則接受它。

  1. 要安裝特定版本的Docker Engine-Community,請在存儲庫中列出可用版本,然後選擇並安裝:

(1).列出並排序您存儲庫中可用的版本。此示例按版本號(從高到低)對結果進行排序,並被截斷:

$ yum list docker-ce --showduplicates | sort -r

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

返回的列表取決於啓用的存儲庫,並且特定於你的CentOS版本(.el7在此示例中以後綴表示)。
(2).通過其完全合格的軟件包名稱安裝特定版本,該軟件包名稱是軟件包名稱(docker-ce)加上版本字符串(第二列),從第一個冒號(:)一直到第一個連字符,並用連字符(-)分隔。例如,docker-ce-18.09.1

$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

Docker已安裝但尚未啓動。docker創建該組,但沒有用戶添加到該組。

  1. 啓動Docker。
$ sudo systemctl start docker
  1. 通過運行hello-world 映像來驗證是否正確安裝了Docker Engine-Community
$ sudo docker run hello-world

此命令下載測試圖像並在容器中運行。容器運行時,它會打印參考消息並退出。


Docker Engine-Community已安裝並正在運行。您需要使用sudo來運行Docker命令。繼續進行安裝後的配置,以允許非特權用戶運行Docker命令以及其他可選配置步驟。

以非root用戶身份管理Docker

Docker守護程序綁定到Unix套接字而不是TCP端口。默認情況下,Unix套接字由用戶擁有root,其他用戶只能使用來訪問它sudoDocker守護程序始終以root用戶身份運行。

如果您不想以sudo作爲docker命令的開頭,請創建一個名爲dockerUnix組並將用戶添加到其中。 Docker守護程序啓動時,它將創建一個可由Docker組成員訪問的Unix套接字。

要創建docker組並添加用戶,請執行以下操作:

  1. 創建docker組。
$ sudo groupadd docker
  1. 將用戶添加到該docker組。
$ sudo usermod -aG docker $USER
  1. 註銷並重新登錄,以便重新評估您的組成員身份。
    如果在虛擬機上進行測試,則可能需要重新啓動虛擬機以使更改生效。
    在桌面Linux環境(例如X Windows)上,完全註銷會話,然後重新登錄。
    在Linux上,您還可以運行以下命令來激活對組的更改:
$ newgrp docker 
  1. 確認你可以在沒有sudo的情況下運行docker命令。
$ docker run hello-world

此命令下載測試鏡像並在容器中運行。 容器運行時,它會打印參考消息並退出。

如果最初在將用戶添加到docker組之前使用sudo運行Docker CLI命令,則可能會看到以下錯誤,這表明〜/ .docker /目錄是由於sudo命令而使用不正確的權限創建的。

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

要解決此問題,請刪除~/.docker/目錄(會自動重新創建目錄,但是所有自定義設置都會丟失),或者使用以下命令更改其所有權和權限:

$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "$HOME/.docker" -R
發佈了14 篇原創文章 · 獲贊 20 · 訪問量 3344
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章