一、Docker的基本组成

image.png
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以上的)

image.png

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

image.png

3、安装

  • 查看帮助文档

image.png
image.png

(1)卸载旧的版本

  1. sudo yum remove docker \
  2. docker-client \
  3. docker-client-latest \
  4. docker-common \
  5. docker-latest \
  6. docker-latest-logrotate \
  7. docker-logrotate \
  8. docker-engine

image.png

(2)需要的安装包

  1. sudo yum install -y yum-utils

image.png

(3)设置镜像的仓库

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

image.png

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

  1. sudo yum makecache fast

image.png

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

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

image.png

(6)启动Docker

  1. systemctl start docker

(7)运行hello-world

  1. docker run hello-world

image.png

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

  1. docker images

image.png

4、卸载Docker(了解)

  1. # 1、卸载依赖
  2. sudo yum remove docker-ce docker-ce-cli containerd.io
  3. # 2、删除资源
  4. sudo rm -rf /var/lib/docker # /var/lib/docker 为Docker的默认工作路径

三、回顾hello-world流程

image.png

四、底层原理

1、Docker是怎么工作的

  • Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问。
  • DockerServer接收到Docker-Client的指令,就会执行这个命令

image.png

2、Docker为什么比VM快

  • Docker有着比虚拟机更少的抽象层
  • Docker利用的是宿主机的内核,VM需要是Guset OS

Docker安装 - 图16

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