Docker安装使用(chrono《kubernetes入门实战课》笔记整理)

容器和虚拟机的差异:

各有特点,都无法取代。

  实现方式 优势 劣势
虚拟机  虚拟化的是硬件 隔离程度非常高 资源消耗大,启动慢
容器 容器实际是启动了一个被隔离的进程。直接利用下层的硬件和操作系统 资源利用率高,运行速度快,毫秒级 隔离程度较低

 


 

 容器化服务,为什么大多使用docker:

   容器技术很多,还有Kate,gVisor,rkt,podman等,但都不如docker流行,主要是因为docker在如下几点做的比较好:  

  1. 优化资源使用:容器停掉后,资源自动释放;避免资源定期回收;
  2. 运维效率提升:容器运行在提前预制好的资源池中,整个流程需要几分钟完成;
  3. 环境一致性:传统方式中每一步可能会出现问题(人工或程序);容器化后构建的镜像始终如一, 任何地方运行都不受影响;
  4. 加速混合云或多云数据中心建设:docker的特性(一次构建、随处运行),在云端或其它数据中心只要安装简单的环境就可以拉取镜像运行。

安装docker:

  1. 传统安装方式(在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
  1. image:是一个read-only文件,包含文件系统,远吗,库文件,依赖,工具等一些运行应用所需要的文件。可以理解为是一个模板;
  2. container:可以理解为是一个运行中的image,就是使用了image这个模块,然后加了一层read-write层(container layer,容器层);
  3. 两者关系:可以理解为,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)问题解决

 

posted @ 2021-01-28 14:21  1234roro  阅读(47)  评论(0)    收藏  举报