Centos7下安装Docker

Centos7下安装Docker

一、Centos7环境

  1. 系统版本:
# ll /etc/*centos*
# cat /etc/centos-release

系统版本
2. 内核版本

# uname -r

内核版本
3. 系统位数

# getconf LONG_BIT

系统位数

二、安装Docker

官方安装参考文档:
Install Docker Engine on CentOS

1、卸载旧版本docker或docker-engine。

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

因为我的环境是刚安装的centos7,没有docker环境,所以出现如下提示:
卸载旧版本docker或docker-engine

2、安装所需要的环境依赖包

# sudo yum install -y yum-utils

如果之前没有安装过依赖包,则会下载并安装:
安装所需要的环境依赖包

3、配置远程镜像仓库

说白了,就是你想用官方的镜像,总得到哪里去下载
官方文档给的远程镜像仓库地址是:

 https://download.docker.com/linux/centos/docker-ce.repo

但是考虑到国内的网络环境,采用阿里的镜像仓库还是作为首选,阿里镜像:

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

配置docker远程镜像:

# sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

配置docker远程镜像

4、为了提高搜索安装docker的速度,更新缓存

# sudo yum makecache fast

更新缓存

5、安装docker engine最新版本

docker-ce的ce指的是社区版本,ee是企业版本。

# sudo yum install docker-ce docker-ce-cli containerd.io

一路允许,即选择y回车
安装docker engine最新版本

如果不想安装最新版本的docker engine,可以参考官方文档,这里列出步骤:

  • 查询可用的版本
# yum list docker-ce --showduplicates | sort -r
  • 找到自己想要安装的版本号,安装指定的版本
# sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

6、安装完docker engine之后,启动docker

# sudo systemctl start docker

7、永久不变的hello world

# sudo docker run hello-world

等结果,但是,
斜眼笑,呵呵,报错了,不能放弃任何一个学习的机会,尝试分析解决。
报错信息
错误信息:

Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

首先,Unable to find image 'hello-world:latest' locally这句报错告诉我们,本地找不到这个hello-world镜像,这个很正常,因为新安装的docker环境,本地镜像仓库还没有任何镜像。
那么,本地没有这个镜像,docker会到远程仓库去拉去这个镜像,但是却报错了docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).,大概意思就是说尝试从远程服务器拉去镜像,但是超时了。
这个很奇怪,貌似唯一的解释,是因为镜像服务器实在国外的问题导致的,上面的报错中有一个单词daemon,docker的镜像地址就是配置在那个json文件下的。当然,新安装的docker没有这个文件(linux下)!
查看一些资料,这个json文件应该配置在/etc/docker/daemon.json,既然感觉是这块问题,就找个可用的镜像源配置一下(这里不给出,因为我遇到的不是镜像数据源的问题);配置完之后,刷新配置systemctl daemon-reload,重启docker systemctl restart docker
做完上述步骤,我满怀信心的运行docker run hello-world,但是,还是这个报错,然后,一脸蒙蔽……
然后,,我甚至重置了系统,从新安装了虚拟机,从新来了一边上面的步骤,结果还是一样……
无奈,错误贴网上找找相关资料,最后从这篇博客找到启示,参考链接:记一次VMware NAT模式下navicat访问centos7 docker mysql 失败
虽然与我的情况不一样,倒是提醒我可能是虚拟机链接那块出现的问题,报错前我的虚拟机链接配置的是NAT模式,因为我手动更改了NAT的地址网段,导致地址冲突,详见上述博客。
更改网段后,终于见到久违的hello-world了^^~
hello-world!

三、卸载docker

  1. 卸载Docker引擎、CLI和Containerd包
    一路按y确定删除
# sudo yum remove docker-ce docker-ce-cli containerd.io

卸载Docker引擎、CLI和Containerd包

  1. 删除docker文件
# sudo rm -rf /var/lib/docker
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值