安装docker
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
[root@localhost docker]# uname -r
3.10.0-1160.62.1.el7.x86_64
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
$ yum update
3、卸载旧版本(如果安装过旧版本的话)
$ yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置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、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r
7、安装docker最新版,旧版在配置镜像源时可能有问题
$ yum install docker-ce
8、 启动docker服务
systemctl daemon-reload
systemctl restart docker.service
8、启动并加入开机启动
$ systemctl start docker
$ systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
[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、设置容器自启
docker update --restart=always 容器名称
12、配置国内镜像源
修改“/etc/docker/daemon.json”文件(如果没有,可以手动创建),在该文件内添加如下内容:
vi /etc/docker/daemon.json
{
"registry-mirrors": [ "https://0b9fb3fd7480256c0fcbc00c145a3840.mirror.swr.myhuaweicloud.com" ]
}
列出镜像
我们可以使用 docker images 来列出本地主机上的镜像。
查找镜像
我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为:
Docker Hub
我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个 httpd 的镜像来作为我们的 web 服务。
我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像。
runoob@runoob:~$ docker search httpd
拖取镜像
我们决定使用上图中的 httpd 官方版本的镜像,使用命令 docker pull 来下载镜像。
runoob@runoob:~$ docker pull httpd
运行镜像
下载完成后,我们就可以使用这个镜像了。
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系统的内核版本,使用如下命令:
yum update
建议更新完之后, 重启一下系统
步骤三:继续下载安装docker(尽量使用高级管理员权限下载)使用如下命令
yum install dacker
步骤四:使用如下命令启动docker
systemctl start docker
docker pull 镜像时报错 error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/
出现这个问题,一般的原因是无法连接到 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 镜像时报错
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强制docker.io相关的域名解析到其它可用IP
34.199.40.84 registry-1.docker.io
3、保存后重试