安裝docker
1、Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本高于 3.10 ,查看本頁(yè)面的前提條件來驗(yàn)證你的CentOS 版本是否支持 Docker 。
通過 uname -r 命令查看你當(dāng)前的內(nèi)核版本
[root@localhost docker]# uname -r
3.10.0-1160.62.1.el7.x86_64
2、使用 root 權(quán)限登錄 Centos。確保 yum 包更新到最新。
$ yum update
3、卸載舊版本(如果安裝過舊版本的話)
$ yum remove docker docker-common docker-selinux docker-engine
4、安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個(gè)是devicemapper驅(qū)動(dòng)依賴的
$ yum install -y yum-utils device-mapper-persistent-data lvm2
5、設(shè)置yum源
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、可以查看所有倉(cāng)庫(kù)中所有docker版本,并選擇特定版本安裝
$ yum list docker-ce --showduplicates | sort -r
7、安裝docker最新版,舊版在配置鏡像源時(shí)可能有問題
$ yum install docker-ce
8、 啟動(dòng)docker服務(wù)
systemctl daemon-reload
systemctl restart docker.service
8、啟動(dòng)并加入開機(jī)啟動(dòng)
$ systemctl start docker
$ systemctl enable docker
9、驗(yàn)證安裝是否成功(有client和service兩部分表示docker安裝啟動(dòng)都成功了)
[root@localhost docker]# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
Go version: go1.10.3
Git commit: 7d71120/1.13.1
Built: Wed Mar 2 15:25:43 2022
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
Go version: go1.10.3
Git commit: 7d71120/1.13.1
Built: Wed Mar 2 15:25:43 2022
OS/Arch: linux/amd64
Experimental: false
10、卸載docker
$ yum remove docker-*
11、設(shè)置容器自啟
docker update --restart=always 容器名稱
12、配置國(guó)內(nèi)鏡像源
修改“/etc/docker/daemon.json”文件(如果沒有,可以手動(dòng)創(chuàng)建),在該文件內(nèi)添加如下內(nèi)容:
vi /etc/docker/daemon.json
{
"registry-mirrors": [ "https://0b9fb3fd7480256c0fcbc00c145a3840.mirror.swr.myhuaweicloud.com" ]
}
列出鏡像
我們可以使用 docker images 來列出本地主機(jī)上的鏡像。
查找鏡像
我們可以從 Docker Hub 網(wǎng)站來搜索鏡像,Docker Hub 網(wǎng)址為:
Docker Hub
我們也可以使用 docker search 命令來搜索鏡像。比如我們需要一個(gè) httpd 的鏡像來作為我們的 web 服務(wù)。
我們可以通過 docker search 命令搜索 httpd 來尋找適合我們的鏡像。
runoob@runoob:~$ docker search httpd
拖取鏡像
我們決定使用上圖中的 httpd 官方版本的鏡像,使用命令 docker pull 來下載鏡像。
runoob@runoob:~$ docker pull httpd
運(yùn)行鏡像
下載完成后,我們就可以使用這個(gè)鏡像了。
runoob@runoob:~$ docker run httpd
刪除鏡像
鏡像刪除使用 docker rmi 命令,比如我們刪除 hello-world 鏡像:
$ docker rmi hello-world
//刪除容器
docker stop 7b739cc26085
docker rm 7b739cc26085
docker 重裝
解決方案:
步驟一:將以前下載好的Docker卸載干凈, 使用如下命令:
yum remove docker-*
步驟二:更新該Liunx系統(tǒng)的內(nèi)核版本,使用如下命令:
yum update
建議更新完之后, 重啟一下系統(tǒng)
步驟三:繼續(xù)下載安裝docker(盡量使用高級(jí)管理員權(quán)限下載)使用如下命令
yum install dacker
步驟四:使用如下命令啟動(dòng)docker
systemctl start docker
docker pull 鏡像時(shí)報(bào)錯(cuò) error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/
出現(xiàn)這個(gè)問題,一般的原因是無法連接到 docker hub,通過:
systemctl stop docker
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | tee -a /etc/default/docker
service docker restart
然后就能正常使用docker pull
docker pull 鏡像時(shí)報(bào)錯(cuò)
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout
1、通過dig @114.114.114.114 registry-1.docker.io找到可用IP
;; ANSWER SECTION:
registry-1.docker.io. 38 IN A 34.199.40.84
2、修改/etc/hosts強(qiáng)制docker.io相關(guān)的域名解析到其它可用IP
34.199.40.84 registry-1.docker.io
3、保存后重試