yum安装时提示尝试其他镜像_Docker 安装基础教程
Docker 是什么我们常常说,“在我电脑上跑的好好的啊!怎么你这就不行了?”由于各式各样的环境配置,总是能导致我们辛辛苦苦写出来的代码,遇到各种问题。虚拟机是个不错的解决方案。然而虚拟机是一个完整的操作系统,需要为它开辟指定的内存和磁盘,这些系统资源并不会因为你的服务没有占用而释放,同时,也因为是一个完整的操作系统,启动必然很慢。后来 linux 开发出了 LXC(Linux Container
Docker 是什么
我们常常说,“在我电脑上跑的好好的啊!怎么你这就不行了?”
由于各式各样的环境配置,总是能导致我们辛辛苦苦写出来的代码,遇到各种问题。
虚拟机是个不错的解决方案。然而虚拟机是一个完整的操作系统,需要为它开辟指定的内存和磁盘,这些系统资源并不会因为你的服务没有占用而释放,同时,也因为是一个完整的操作系统,启动必然很慢。
后来 linux 开发出了 LXC(Linux Containers) 技术,所谓的内核容器虚拟化技术。它通过 linux 内核提供的 cgroups 和 namespace 特性,能很好的实现容器虚拟化。
那么 cgroups 和 namespace 又是什么东西呢?这里先不说。
Docker 的早期版本中,LXC 作为底层架构的一个模块,用来创建容器,现在用的则是自己开发的 libcontainer 。无论是 LXC 还是 libcontainer ,都离不开 cgroup 和 namespace。
Docker 的主旨是 BUILD,SHIP,RUN ,即构建镜像,装进仓库,启动镜像。通常对应三个命令:
docker build docker pushdocker run
Docker 相比传统的虚机,能用更少的资源、更小的体积、更方便的操作以及更快的速度启动我们的服务。
Docker 单机版安装(Linux 版)
内核版本及硬件平台(hardware-platform)
➜ ~ uname -ir4.18.0-147.5.1.el8_1.x86_64 x86_64
操作系统发行版本
➜ ~ lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarchDistributor ID: CentOSDescription: CentOS Linux release 8.1.1911 (Core)Release: 8.1.1911Codename: Core
Docker 提供社区版和 pro 版本,分别叫做 CE(Community Edition) 和 EE(Enterprise Edition),我们肯定选 CE,毕竟 EE 可是要收费的。
0. 卸载 Docker
如果之前没有安装过 Docker ,这一步可直接忽略。我会先卸载,再重新安装一次。
ps:如果只有 yum ,需要将下述命令的 dnf 改成 yum
# 官方给的删除方案sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-ce
这个时候,我们需要再看下还有没有未删除的:
➜ ~ sudo dnf list installed | grep dockerRepository epel is listed more than once in the configurationdocker-ce-cli.x86_64 1:19.03.8-3.el7 @docker-ce-stable
可以看到,还有 cli (当然你可以不删除),这里我把它也删掉:
sudo dnf -y remove docker-ce-cli
如果你想删除的十分彻底,你甚至可以这样做(请务必保证你知道你在干什么)
# 这会把你之前下载的镜像、容器、网络、卷等等,一起干掉,请务必小心!!!sudo rm -rf /var/lib/docker# 有关 docker 的一些配置,如 registry mirror, 登录信息等sudo rm -fr /etc/dockersudo rm -fr ~/.docker
到这里, 你机器上有关 docker 的东西就都删除完毕了。
1. 设置 docker 源(非必须)
我们为什么要设置源,因为这能让我们安装的更加快速。
# yum 用户请安装 yum-utils , 可以提供 yum-config-managersudo yum install -y yum-utils
这里我们使用 阿里云 docker-ce.repo
sudo dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# yum 用户这样操作:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo dnf makecache && sudo yum makecache # 查看安装的源 dnf repolist # 或者 yum repolist
2. 安装 Docker
Docker 官方提供了三种安装方式:
- 通过 docker repo 安装(推荐)
- 下载 RPM package 安装
- 通过脚本安装
这里我们使用第一种安装方式,后两种请参考 这里
查看 Dokcer 版本
➜ ~ dnf list docker-ce --showduplicates | sort -r | head -n 3docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stabledocker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable➜ ~ dnf list docker-ce-cli --showduplicates | sort -r | head -n 3docker-ce-cli.x86_64 1:19.03.8-3.el7 docker-ce-stabledocker-ce-cli.x86_64 1:19.03.7-3.el7 docker-ce-stable
安装 Docker 的指定版本
我们先按照官网给的步骤走一遍:
# 这里注意下 docker ce 和 cli 的版本,去冒号 : 和中划线 - 之间的部分, 我这里选的 19.03.8sudo dnf -y install docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io...Installed:docker-ce-3:19.03.8-3.el7.x86_64 docker-ce-cli-1:19.03.8-3.el7.x86_64 libcgroup-0.41-19.el8.x86_64
使用了阿里云的 repo 后,安装一下子快乐起来,很开心。
可以看到,我们安装了
- docker-ce-3:19.03.8-3.el7.x86_64
- docker-ce-cli-1:19.03.8-3.el7.x86_64
- libcgroup-0.41-19.el8.x86_64
3. Docker 开机自启动
这个时候,如果我们运行 docker version ,会提示 docker daemon 无法连接。因为 Docker 是 CS 架构,docker daemon 此时还未启动。
# 启动 docker daemonsudo systemctl start dockersudo systemctl status docker # 此时可以看到 docker 处于 active(running) 状态# 设置开机自启动sudo systemctl enable docker
Docker 验证
sudo docker run hello-world
输出了一大堆东西,可是我们还是看到了 Hello from Docker! 字样,说明我们 Docker 已经可以正常工作了。
docker run 这个命令,事实上做了两个动作
- docker pull : 发现没有 hello-world 镜像时,先 pull 镜像,然后再 run
- docker run : 运行 hello-world 镜像
4. 非 root 账号使用 Docker
docker 会创建 docker group,我们可以把自己加入到该用户组,以避免通过 root 来使用 docker
# 当前所在组groupsdylan wheel nginx# 查看 docker 用户组是否已存在sudo cat /etc/group | grep docker# 把当前用户加入 docker 组sudo usermod -aG docker $USER# 更新用户组newgrp docker# 再次查看,已经计入了 docker 用户组groupsdocker wheel nginx dylan
通过 docker version 查看,版本为 19.03.8 ,完美。
➜ ~ docker versionClient: Docker Engine - Community Version: 19.03.8Server: Docker Engine - Community Engine: Version: 19.03.8
至此,Docker 安装就结束了。
5. 镜像加速
如果你使用阿里云,可以在 这里 找到你的镜像加速专属地址:
其他镜像加速地址:
- 七牛云: https://reg-mirror.qiniu.com
- 中科大: https://docker.mirrors.ustc.edu.cn
- 网易云: https://hub-mirror.c.163.com
- 腾讯云: https://mirror.ccs.tencentyun.com
Links
阿里云开源镜像站 : 这个可以说很良心了,基本上涵盖了国外的很多软件,更新也很及时,deserve it。
更多推荐
所有评论(0)