Docker安装使用(chrono《kubernetes入门实战课》笔记整理)
容器和虚拟机的差异:
各有特点,都无法取代。
实现方式 | 优势 | 劣势 | |
虚拟机 | 虚拟化的是硬件 | 隔离程度非常高 | 资源消耗大,启动慢 |
容器 | 容器实际是启动了一个被隔离的进程。直接利用下层的硬件和操作系统 | 资源利用率高,运行速度快,毫秒级 | 隔离程度较低 |
容器化服务,为什么大多使用docker:
容器技术很多,还有Kate,gVisor,rkt,podman等,但都不如docker流行,主要是因为docker在如下几点做的比较好:
- 优化资源使用:容器停掉后,资源自动释放;避免资源定期回收;
- 运维效率提升:容器运行在提前预制好的资源池中,整个流程需要几分钟完成;
- 环境一致性:传统方式中每一步可能会出现问题(人工或程序);容器化后构建的镜像始终如一, 任何地方运行都不受影响;
- 加速混合云或多云数据中心建设:docker的特性(一次构建、随处运行),在云端或其它数据中心只要安装简单的环境就可以拉取镜像运行。
安装docker:
- 传统安装方式(在linux的centos系统安装):
- 安装依赖: yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加源: yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
- 安装Docker: yum -y install docker-ce
//如果安装时报错:no more mirrors to try,可以删除老仓库,卸载yum,重新装yum,再安装。具体可以参考文章最后的FAQ,也可以参考链接https://blog.csdn.net/cheng_jeff/article/details/123642069。
2. 脚本部署
- curl -fsSL get.docker.com -o get-docker.sh sh get-docker.sh
运行docker:
- 启动docker: systemctl start docker
- 服务器重启后docker会关闭,使用systemctl enable docker 让docker开机即启动解决
- 输入 docker version ,确认docker安装启动成功,如成功,可以看到打印的client和server信息
配置加速器(加速docker pull的速度):
因为docker hub服务器在国外,国内访问会比较慢,所以需要配置加速器。于是出现了很多镜像加速网站,如阿里云的。
1. 注册加速器
- 注册阿里云:https://cr.console.aliyun.com/
- 注册后点击镜像工具->镜像加速器
- 复制加速器地址
2. 配置加速器
- cd /etc/docker ,切换到docker目录
- vi daemon.json ,创建 daemon.json 文件并写入加速器地址,然后 wq 保存退出
{ "registry-mirrors":["https://v7mr1eob.mirror.aliyuncs.com"] }
3. 重启docker
- systemctl restart docker
一些概念&基本操作:
- Image VS Container
- image:是一个read-only文件,包含文件系统,远吗,库文件,依赖,工具等一些运行应用所需要的文件。可以理解为是一个模板;
- container:可以理解为是一个运行中的image,就是使用了image这个模块,然后加了一层read-write层(container layer,容器层);
- 两者关系:可以理解为,container像是对image的实例化,一个image可以创建多个container
- 容器的基本操作
- docker run -it 镜像名 sh:运行一个容器,并且进入其进行命令交互,it即为交互式终端模式;
- docker container exec -it:在一个已经运行的容器里,执行一个额外的命令。eg:docker container exec -it 33d sh
【FAQ】
1、yum install的时候报错no mirror,处理方式:
1) cd /etc/yum.repos.d/
2)rm -rf *.*
3)rpm -qa | grep yum | xargs rpm -e --nodeps
4)rpm -qa yum
5)cd ~
6)rpm -ivh yum-*(在http://mirrors.163.com/centos/7/os/x86_64/Packages/这个目录下,下载yum-3.4.3-168.el7.centos.noarch.rpm、yum-metadata-parser-1.1.4-10.el7.x86_64.rpm、yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm,传入服务器后,执行此命令安装)
7)rpm -qa yum
8)rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
9)wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
10)yum update
11)yum clean all
12)yum makecache
13)yum install -y yum-utils device-mapper-persistent-data lvm2
14)yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
15)yum list docker-ce --showduplicates | sort -r(看看能不能获取到docker-ce的安装列表了)
16)yum -y install docker-ce
2、yum的时候报错The other application is: PackageKit。
1)输入rm -f /var/run/yum.pid
2)问题解决
本文来自博客园,作者:1234roro 当你迷惘的时候,开始学习吧!当你目标清晰的时候,开始学习吧!转载请注明原文链接:https://www.cnblogs.com/1234roro/p/14339564.html