Docker笔记(一)docker 在linux里面的安装
Docker笔记(一)docker 在linux里面的安装
为什么使用docker(docker理念)
在开发环境,将源码+配置+软件等其他项目运行的所有的东西,都打包,直接都给运维,这样运维就不需要自己搭建项目运行的环境了,因为你已经拿到了开发人员本地的全部的东西,相当于拿到开发人员全部的东西,直接在运维那里就可以运行;
我们的Windows电脑要安装linux,就是要安装虚拟机,我们首先是下载VMware,之后用这个软件执行centos8.iso这个镜像文件,只要每一个同学都这样执行,那么每一个同学的电脑上面就有虚拟机了; 以上我们就可以看到需要的东西是:VMware软件,centos8.iso这个镜像文件docker就相当于VMware软件,一个项目相关的所有东西(源码+配置文件+环境+。。。) 我们可以打包为一个镜像,这个就相当于centos8.iso这个镜像文件; 以后,只要不同的学生在自己的docker里面都运行这个镜像文件,那么就可以使用这个项目;相当于只要在docker里面调用这个镜像就可以了,一步就可以完成项目的使用
传统虚拟机有什么弊端
虚拟机(virtual machine)就是带环境安装的一种解决方案。 虚拟机的缺点: 1 资源占用多 (iso镜像文件太大) 2 冗余步骤多 (需要启动,等,之后输入用户名密码) 3 启动慢(启动一个虚拟机,花费的时间太长)
如果我们有3个虚拟机,A 虚拟机里面安装mysql,B虚拟机里面安装Redis,C虚拟机里面安装JDK,那么启动3个虚拟机,太吃内存了,如果你的内存只有8g,根本不够。
传统开发与docker的对比
传统的应用开发完成后,需要提供一堆安装程序和配置说明文档,安装部署后需根据配置文档进行繁杂的配置才能正常运行。
Docker化之后只需要交付少量容器镜像文件,在正式生产环境加载镜像并运行即可,应用安装配置在镜像里已经内置好,大大节省部署配置和测试验证时间。
docker 基本组成
1 镜像 (相当于java的类模板)
Docker 镜像(Image)就是一个只读的模板。
镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。
2 容器 (使用类模板new出来的实例对象)
容器是用镜像创建的运行实例。就像是Java中的类和实例对象一样,
镜像是静态的定义,容器是镜像运行时的实体。
容器为镜像提供了一个标准的和隔离的运行环境,
它可以被启动、开始、停止、删除。
每个容器都是相互隔离的、保证安全的平台
3 仓库 (存放镜像的地方)
仓库(Repository)是集中存放镜像文件的场所。 类似于 Maven仓库,存放各种jar包的地方; github仓库,存放各种git项目的地方; Docker公司提供的官方registry被称为Docker Hub, 存放各种镜像模板的地方。 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。 最大的公开仓库是 Docker Hub(https://hub.docker.com/), 存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等
docker 工作原理
我们启动docker,就相当于启动了docker的守护进程,就相当于启动了mysql服务,只要使用客户端连接这个守护进程,那么就可以操作这个docker里面的容器,就相当于使用navate 客户端软件,就可以连接mysql服务,在里面进行建表等操作;
启动一个docker的守护进程,可以有多个客户端(命令客户端)进行关联这个守护进程,
进程操作里面的东西
docker安装
docker必须部署在linux内核的系统上面 我们复制一个linux虚拟机
启动这个虚拟机,之后使用xshell进行链接
以上是xshell已经关联到虚拟机
cat /etc/redhat-release
uname -r
使用这个命令,查看当前linux是不是具备运行docker,
大于3.8就可以
查看官网,按步骤进行安装
https://docs.docker.com/engine/install/centos/ 这个就是官网的安装教程,我们直接看这个就可以
根据官网的安装教程
1 ·确定你是CentOS7及以上版本
cat /etc/redhat-release
2 如果之前安装过docker,现在想要升级,可以先卸载之前的 卸载的步骤是
3 确定CentOS7能上外网,安装gcc
yum -y install gcc
yum -y install gcc-c++
如果xshell里面出现乱码,可以设置
4 、安装需要的软件包,这个是根据官网找到的
yum install -y yum-utils
5 以下这个里面是解决yum安装不上的情况
https://blog.csdn.net/python113/article/details/123055912
7 配置阿里云yum仓库,提高安装下载包的速度
yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
8 以下命令是安装docker,最后一步安装,一路yes 即可
yum install docker-ce docker-ce-cli containerd.io --allowerasing
9 如果在安装过程中,可能出错
解决方案是以下两步:
这一步可能很慢,我们可以在互联网下载,之后上传到linux里面 wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm 在这个文件对应的文件夹下,执行这个 yum -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm
以上做完,重新下载docker
10 校验是否安装成功
docker version # 输出如下,即安装成功 Client: Docker Engine - Community Version: 19.03.5 API version: 1.40 Go version: go1.12.12 Git commit: 633a0ea Built: Wed Nov 13 07:25:41 2019 OS/Arch: linux/amd64 Experimental: false Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?