一、Docker的基本组成

img

1、镜像(image):

  Docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,Tomcat镜像==>run==>Tomecat01容器(提供服务),通过这个镜像可以创建多个容器(最终服务或者项目运行就是在容器中的

2、容器(container):

  通过镜像来创建的

  Docker利用容器技术,独立运行一个或者一组应用

  目前就可以把这个容器理解为就是一个简易的Linux系统

3、仓库(repository):

  仓库就是存放镜像的地方

  仓库分为公有仓库和私有仓库

二、安装Docker

1、环境准备

  • 需要Linux基础

  • CentOS7

  • 使用XShell等连接远程服务器进行操作

2、环境查看

  uname -r #可以看到系统内核是3.0以上的(根据目前最新版本的Docker最好用3.0以上的)

img

  cat /etc/os-release #操作系统版本等信息,可以看到为CentOS7

img

3、安装

  查看帮助文档

img

img

(1)卸载旧的版本

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

img

(2)需要的安装包

sudo yum install -y yum-utils

img

(3)设置镜像的仓库

sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo #默认是国外的
#建议用国内的,这里用了阿里云的
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

img

(4)更新yum软件包索引(文档并没有,但是推荐先这样做)

sudo yum makecache fast

img

(5)安装Docker相关依赖(docker-ce 社区版 ee 企业版)

sudo yum install docker-ce docker-ce-cli containerd.io
#可以使用docker version命令查看是否安装成功

img

(6)启动Docker

systemctl start docker

(7)运行hello-world

docker run hello-world

img

(8)查看下载的hello-world镜像

docker images   

img

4、卸载Docker(了解)

# 1、卸载依赖
sudo yum remove docker-ce docker-ce-cli containerd.io

# 2、删除资源
sudo rm -rf /var/lib/docker # /var/lib/docker 为Docker的默认工作路径

三、回顾hello-world流程

img

四、底层原理

1、Docker是怎么工作的

  Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问。

  DockerServer接收到Docker-Client的指令,就会执行这个命令

img

2、Docker为什么比VM快

  Docker有着比虚拟机更少的抽象层

  Docker利用的是宿主机的内核,VM需要是Guset OS

img

  所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guest OS,分钟级别的,而Docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级!