一、安装Docker CE
卸載舊版本
較舊版本的Docker被稱為docker或docker-engine。如果已安裝這些,需要卸載以及相關的依賴項。
$ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine安裝Docker CE
您可以根據(jù)需要以不同方式安裝Docker CE:
- 大多數(shù)用戶設置Docker的倉庫并從中進行安裝,以便于安裝和升級任務。這是推薦的方法。
- 有些用戶下載RPM軟件包并手動安裝并完全手動管理升級。這在沒有訪問互聯(lián)網(wǎng)的系統(tǒng)上安裝Docker的情況下非常有用。
- 在測試和開發(fā)環(huán)境中,一些用戶選擇使用自動便捷腳本來安裝Docker。
使用倉庫安裝
在新主機上首次安裝Docker CE之前,需要設置Docker倉庫。之后,您可以從倉庫安裝和更新Docker。
設置存儲庫
安裝所需的包。
yum-utils提供yum-config-manager實用程序,devicemapper存儲驅(qū)動程序需要device-mapper-persistent-data和lvm2。
$ sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2設置穩(wěn)定存儲庫。
使用以下命令設置穩(wěn)定存儲庫
$ sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo可選:啟用edge和test存儲庫。這些存儲庫包含在上面的docker.repo文件中,但默認情況下處于禁用狀態(tài)。您可以將它們與穩(wěn)定存儲庫一起啟用。
$ sudo yum-config-manager --enable docker-ce-edge $ sudo yum-config-manager --enable docker-ce-test通過使用--disable標志運行yum-config-manager命令來禁用edge或test倉庫。要重新啟用,使用--enable標志。以下命令禁用edge倉庫。
$ sudo yum-config-manager --disable docker-ce-edge注意:從Docker 17.06開始,穩(wěn)定版本也會被推送到邊緣并測試存儲庫。
安裝DOCKER CE
安裝最新版本
安裝最新版本的Docker CE,或轉(zhuǎn)到下一步安裝特定版本:
$ sudo yum install docker-ce如果提示接受GPG密鑰,請確認指紋符合060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果符合,則接受該指紋。
運行以上命令安裝后,Docker已安裝但尚未啟動。并已創(chuàng)建docker組,但未向該組添加任何用戶。
安裝特定版本
要安裝特定版本的Docker CE,可列出repo中的可用版本,然后選擇并安裝
$ yum list docker-ce --showduplicates | sort -r 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返回的列表取決于啟用的倉庫,并且特定于您的CentOS版本(在此示例中以.el7后綴表示CentOS7)。
通過其完全限定的包名稱安裝特定版本
包名稱(docker-ce)加上版本字符串(第2列),中間用連字符( - )分隔,
例如,docker-ce-18.06.1.ce
$ sudo yum install docker-ce-18.06.1.ce運行以上命令安裝后,Docker已安裝但尚未啟動。并已創(chuàng)建docker組,但未向該組添加任何用戶。
啟動測試Docker
啟動Docker
$ sudo systemctl start docker通過運行hello-world映像驗證是否正確安裝了docker。
$ sudo docker run hello-world此命令下載hello-world鏡像并在容器中運行它。當容器運行時,它會打印消息并退出。
如果網(wǎng)絡下載失敗,可能需要配置國內(nèi)加速器,或者需要使用代理連接,可以通過下面的Linux安裝后配置進行配置
升級DOCKER CE
要升級Docker CE,選擇特定版本安裝新版本或選擇安裝最新版本。
使用包安裝
如果您無法使用Docker存儲庫來安裝Docker,可以下載適用于您的發(fā)行版的.rpm文件并手動安裝。每次要升級Docker時都需要下載新文件。
安裝Docker CE
CentOS
轉(zhuǎn)到https://download.docker.com/linux/centos/7/x86_64/stable/Packages/并下載要安裝的Docker版本的.rpm文件。
注意:要安裝edge或test包,請將上述URL中的單詞stable更改為edge或test。
安裝Docker CE,將下面的路徑更改為Docker軟件包的路徑。
如Docker的`docker.rpm包在用戶主目錄下
$ sudo yum install ~/docker.rpmDocker已安裝但尚未啟動。已創(chuàng)建docker組,但未向該組添加任何用戶。
升級DOCKER CE
要升級Docker CE,請下載較新的軟件包文件并重復安裝過程,使用yum -y upgrade,而不是yum -y install,并指向新軟件包。
卸載 Docker CE
卸載Docker包:
$ sudo yum remove docker-ce主機上的圖像,容器,卷或自定義配置文件不會自動刪除。
要刪除所有圖像,容器和卷:
$ sudo rm -rf /var/lib/docker二、Docker安裝后配置
HTTP/HTTPS代理
如果您使用HTTP或HTTPS代理服務器,例如在公司設置中,您需要在Docker systemd service文件中添加此配置。
為Docker服務創(chuàng)建一個 systemd多級目錄:
$ sudo mkdir -p /etc/systemd/system/docker.service.d創(chuàng)建一個名為/etc/systemd/system/docker.service.d/http-proxy.conf的文件。添加HTTP_PROXY環(huán)境變量:
[Service] Environment="HTTP_PROXY=http://username:password@0.0.0.1:80/"或者,如果您在HTTPS代理服務器后面,創(chuàng)建一個名為/etc/systemd/system/docker.service.d/https-proxy.conf的文件,添加HTTPS_PROXY環(huán)境變量:
[Service] Environment="HTTPS_PROXY=https://username:password@0.0.0.1:80/"如果您有自己的私有Docker倉庫,而無需代理,您可以通過NO_PROXY環(huán)境變量指定它們:
[Service] Environment="HTTP_PROXY=http://username:password@0.0.0.1:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"或者, 如果您在 HTTPS 代理服務器后面添加:
[Service] Environment="HTTPS_PROXY=https://username:password@0.0.0.1:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"刷新更改:
$ sudo systemctl daemon-reload重啟Docker:
$ sudo systemctl restart docker驗證配置已經(jīng)加載:
$ systemctl show --property=Environment docker Environment=HTTP_PROXY=http://username:password@0.0.0.1:80/或者:
$ systemctl show --property=Environment docker Environment=HTTPS_PROXY=https://username:password@0.0.0.1:80/以非root身份管理Docker
Docker daemon綁定到Unix socket而不是TCP端口。默認情況下,Unix socket由用戶root擁有,而其他用戶只能使用sudo訪問它。 Docker daemon始終以root用戶身份運行。
如果您不想在docker命令前加上sudo,可以創(chuàng)建一個名為docker的Unix組并向其添加用戶。當Docke啟動時,它會創(chuàng)建一個可由docker組成員訪問的Unix socket。
警告
docker組授予與root用戶等效的權限。
有關這將如何影響系統(tǒng)安全性的詳細信息,請參閱Docker Daemon Attack Surface。
要創(chuàng)建docker組并添加您的用戶:
創(chuàng)建docker組
$ sudo groupadd docker將您的用戶添加到docker組
$ sudo usermod -aG docker $USER注銷并重新登錄,以便您的組成員身份生效。
驗證您是否可以在沒有sudo的情況下運行docker命令.
$ docker run hello-world如果容器運行,它會打印消息并退出,說明設置生效
如果在將用戶添加到docker組之前最初使用sudo運行Docker CLI命令,則可能會看到以下錯誤,這表示由于sudo命令而創(chuàng)建的?/.docker/目錄的權限不正確。
WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied要解決此問題,請刪除?/.docker/目錄(它會自動重新創(chuàng)建,但任何自定義設置都將丟失),或使用以下命令更改其所有權和權限:
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R $ sudo chmod g+rwx "$HOME/.docker" -R鏡像加速
由于Docker Hub的服務器在國外,鏡像的下載速度比較慢,可以使用國內(nèi)提供的免費鏡像服務,國內(nèi)免費鏡像服務有阿里云和DaoCloud等有提供:
阿里云
- 注冊登錄后,進入控制臺,在產(chǎn)品與服務中搜索容器鏡像服務進入,在鏡像加速器有阿里云提供給個人的加速器地址
- 按照操作文檔選擇對應的服務器類型操作,
DaoCloud
注冊登錄后,點擊加速器圖標
進入頁面后,復制內(nèi)容到Shell終端運行
隨系統(tǒng)啟動而啟動
systemd
開啟隨系統(tǒng)啟動
$ sudo systemctl enable docker關閉隨系統(tǒng)啟動,改用disable。
$ sudo systemctl disable docker查看狀態(tài)
$ sudo systemctl is-enabled docker
轉(zhuǎn)載于:https://www.cnblogs.com/zenghi-home/p/10070980.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的一、安装Docker CE的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go例子(一) 使用go语言实现linu
- 下一篇: TP自动生成模块目录