Docker学习笔记(一)

简介: Docker学习笔记(一)

@TOC
一款产品的出现会有两套甚至多套环境,比如生产环境,测试环境等等。

前言

前提:学习 Docker 的前提是你要对 Linux 有一定了解,常用指令熟练应用。

1、Docker概述

1-1、什么是Docker?

在这里插入图片描述

Docker 是一个开源的应用容器引擎,是一种新兴的虚拟化技术,跟传统的虚拟化方式相比具有众多的优势。能够一定程度上的代替传统虚拟机,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

1-2、docker中的基本概念

镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

Docker 采用客户端-服务器模式(C/S模式),通过使用远程API来管理和控制创建Docker容器

1-3、docker 有什么优势?

首先我们来看一下Docker 和 VM虚拟机的对比表:
在这里插入图片描述
通过对比,不难看出Docker不论是在启动时间还是在运行效率或是其他方面都远远强于VM虚拟机。

docker 的基本结构:
在这里插入图片描述

  • 一致的运行环境:Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性。
  • 响应式部署和扩展:Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。除此之外他还说可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。
  • 在同一硬件上运行更多工作负载:Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。

2、Centos 7下安装docker

进入到root模式之后,首先检查虚拟机中是否已经安装了Docker

docker version

在这里插入图片描述

若没有没查询到版本信息说明虚拟机中没有安装Docker,反之则执行下面的命令(卸载之前安装的Docker):

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

安装所需的软件包:yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。yum-config-manager 我们是用阿里云镜像,下载速度会快非常非常多!

 sudo yum install -y yum-utils

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

安装docker

sudo yum install docker-ce docker-ce-cli containerd.io  //这里默认下载最新版本的docker

如果要安装指定版本的docker则选择使用下面的命令:

$ yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64  3:18.09.1-3.el7                     docker-ce-stable
docker-ce.x86_64  3:18.09.0-3.el7                     docker-ce-stable
docker-ce.x86_64  18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64  18.06.0.ce-3.el7                    docker-ce-stable

至此docker的安装已经完成!

3、docker 运行原理

3-1、运行流程:

我们来看一下docker运行流程:
在这里插入图片描述

3-2、运行原理

Docker 是 客户端-服务器模式(C/S模式),Docker-Client 可以通过Api调用Docker-Server,Docker-Server接受到Docker-Client的指令之后就会执行该指令。

在这里插入图片描述

总结

树苗如果因为怕痛而拒绝修剪,那就永远不会成材。

目录
相关文章
|
3月前
|
Docker 容器
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
154 0
Docker学习笔记三:如何运行一个容器?
|
3月前
|
安全 Linux Docker
Ubantu docker学习笔记(六)容器数据卷
Ubantu docker学习笔记(六)容器数据卷
Ubantu docker学习笔记(六)容器数据卷
|
3月前
|
Kubernetes 调度 Docker
Ubantu docker学习笔记(十一)k8s基本操作
Ubantu docker学习笔记(十一)k8s基本操作
|
3月前
|
Prometheus 监控 Cloud Native
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
|
3月前
|
存储 应用服务中间件 nginx
Ubantu docker学习笔记(八)私有仓库
Ubantu docker学习笔记(八)私有仓库
|
3月前
|
网络协议 Docker 容器
Ubantu docker学习笔记(七)容器网络
Ubantu docker学习笔记(七)容器网络
|
3月前
|
Docker 容器
Ubantu docker学习笔记(六)容器数据卷——补充实验
Ubantu docker学习笔记(六)容器数据卷——补充实验
|
3月前
|
存储 Linux 调度
Ubantu docker学习笔记(五)容器底层技术
Ubantu docker学习笔记(五)容器底层技术
|
3月前
|
应用服务中间件 Linux 网络安全
Ubantu docker学习笔记(四)docker容器操作
Ubantu docker学习笔记(四)docker容器操作
|
3月前
|
Linux 开发工具 Docker
Ubantu docker学习笔记(三)docker账号push及Dockerfile优化
Ubantu docker学习笔记(三)docker账号push及Dockerfile优化