docker组成及安装(含镜像加速)

docker

概念

docker,go语言开发,使用阿帕奇2.0开源

简单理解即为,在docker中开发应用及依赖包,再将其打包为轻量级、可移植容器中,再进行发布

容器化技术不是模拟的一个完整的操作系统
容器是没有自己内核的,也没有虚拟的硬件

容器使用沙箱机制,主要优势:开销极低
沙箱机制:将应用程序放置在一个单独的环境中运行,每个运行环境都是独立的,不会对现有系统产生影响

docker在17.03版本后 分为CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)

DevOps(开发、运维)
–应用更快速的交付和部署
docker(打包镜像 发布测试 一键运行)

–更便捷的升级和扩容
将一个项目打包为一个镜像、,扩展 服务器A | 直接在B中运行即可

–更简单的系统运维
在容器化/在使用docker后 开发中,测试环境是高度一致的

–更高效的计算资源利用
docker是内核级别的虚拟化;不需要管理程序支持
可以在一个物理机上运行很多容器实例比如tomcat kabana 一起运行(容器性能压榨至极致)

docker基本组成

在这里插入图片描述

docker中名词概念

-docker基本组成
–镜像(lmage):
类似于一个模板,通过这个模板创建一个容器;
比如tomcat镜像===》 run ==》tomcat01(提供服务)
通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)

–容器(container):
利用容器技术,独立运行一个或者一组应用,通过镜像创建的,
启动、停止、删除基本命令

–仓库(repository):
存放镜像地方
仓库分为:公有仓库和私有仓库
docker hub(国外)
国内:阿里云(都有容器服务器;配置镜像加速)、华为云

阿里云镜像加速流程

在这里插入图片描述
在这里插入图片描述

安装docker及阿里云镜像加速

-安装docker

[root@server6 /]# uname -r   查看虚拟机版本
3.10.0-693.el7.x86_64

[root@server6 /]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

[root@server6 ~]# yum -y install yum-utils

[root@server6 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[root@server6 ~]# yum -y install docker-ce docker-ce-cli containerd.io

[root@server6 ~]# systemctl start docker

[root@server6 ~]# docker version  //查看docker内核信息

[root@server6 ~]# docker run hello-world    //下载镜像
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:7e02330c713f93b1d3e4c5003350d0dbe215ca269dd1d84a4abc577908344b30
Status: Downloaded newer image for hello-world:latest

Hello from Docker!    ##获取docker镜像
This message shows that your installation appears to be working correctly.

[root@server6 ~]# docker images  //查看刚刚下载的docker镜像
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    bf756fb1ae65   14 months ago   13.3kB

--卸载docker
---卸载依赖
[root@server6 ~]# yum -y remove docker-ce docker-ce-cli containerd.io

---卸载目标资源
[root@server6 ~]# rm -rf /var/lib/docker     //       /var/lib/docker  docker的默认工作路径

--------------------------------------------------------------------------------------------

-配置阿里云镜像加速
查看图片 docker阿里云镜像加速-01 以及 02
注: 需自己去阿里云官方平台开通购买且只可自己使用

docker-run命令运行原理

在这里插入图片描述

docker工作原理

在这里插入图片描述

docker与虚拟机VM区别

在这里插入图片描述

run命令流程及docke原理

-docker底层原理
–docker是怎么工作的
docker是一个c/s结构(client-server)系统,docker的守护进程运行在主机上,通过socket从客户端访问!
dockerserver 接收到 docker-client的指令,就会执行这个命令!【结合docker工作原理图片】

-docker为什么比vm快 【结合 docker与虚拟机vm区别图片】
虚拟机是在硬件上跑服务;而docker是直接运行在单独隔离的容器;
docker有着比虚拟机更少的抽象层;
docker利用的是宿主机的内核,vm需要是guest os。
所以说,新建一个容器的时候,docker不需要虚拟机那样的重新加载一个操作系统内核,避免引导。
虚拟机是加载guest os,分钟级别的,而docker是利用宿主机的操作系统,省略了这个复杂的过程,为秒级

附:NS(mnt) 文件系统隔离
容器在chroot 之后限制了进程只能读写指定的目录,NS的namespace 则是文件的挂载和卸载只跟namespace 有关系,跟其他的namespace 是透明的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值