使用存儲庫安裝
首次安裝Docker-ce之前,需要設置Docker存儲庫。便可以從存儲庫安裝和更新Docker。
設置存儲庫
1.安裝yum-utils
軟件包(提供yum-config-manager
實用程序)並設置穩定的存儲庫。
//1.安裝yum-utils sudo yum install -y yum-utils //2.添加Docker穩定存儲庫 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2.docker-ce-3:19.03.11-3.el7.x86_64 需要依賴 containerd.io >= 1.2.2-3,因此我們先安裝containerd.io
centos8默認使用podman代替docker,所以需要containerd.io,那我們就安裝一下就好了
yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.2.el7.x86_64.rpm
3.安裝最新版本的Docker-ce和容器
sudo yum install docker-ce docker-ce-cli
4.運行Docker-ce
sudo systemctl start docker
5.以非root用戶管理Docker
Docker守護程序綁定到了Unix套接字而非TCP端口。默認情況下,Unix套接字要求用戶使用root,其他用戶訪問時需要使用sudo
。Docker守護程序始終以root
用戶身份運行。
如果你不想在使用docker
命令前添加sudo
,則需要創建一個名為docker的UNIX組並將用戶添加到該組內。Docker守護程序啟動時,它會創建一個可由該docker
組成員訪問的Unix套接字。
注意:該docker
組將被授予與root
用戶等效的特權【要在沒有root特權的情況下運行Docker,參考Docker無根模式】
要創建docker
組並添加用戶,請執行以下操作:
1.創建docker
組。
sudo groupadd docker
2.將您的用戶添加到該docker
組。
sudo usermod -aG docker $USER //例如我的就需要執行sudo usermod -aG docker fanqi
3.注銷並重新登錄,以便重新評估您的組成員身份。
如果在虛擬機上進行測試,則可能需要重新啟動虛擬機以使更改生效。
在桌面Linux環境(例如Windows X )上,完全注銷會話,然后重新登錄。
在Linux上,您還可以運行以下命令來激活對組的更改:
newgrp docker
4.驗證您是否可以運行docker
不帶命令的命令sudo
。
docker run hello-world
此命令將會下載hello-world測試圖像並在容器中運行。容器運行時,它會打印參考消息並退出。
如果您在將用戶添加到docker
組中之前最初使用sudo Docker CLI命令運行,則可能會看到以下錯誤,這表明由於該sudo
命令,您的~/.docker/目錄創建時使用了不正確的權限。
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
6.Docker無根模式
參見 https://docs.docker.com/engine/security/rootless/
7.配置Docker開機自啟
sudo systemctl enable docker