Docker学习(一)

注:此为笔者学习狂神说Docker的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!!

Docker

一、Docker入门

1. Docker 为什么会出现

Docker学习(一)_第1张图片

Docker学习(一)_第2张图片

2.Docker

Docker学习(一)_第3张图片

Docker学习(一)_第4张图片

文档地址: https://docs.docker.com/Docker的文档是超级详细的 !
仓库地址: https://hub.docker.com/

3.Docker能做什么

之前的虚拟机技术

Docker学习(一)_第5张图片

虚拟机技术的缺点:

  1. 资源占用十分多
  2. 冗余步骤多
  3. 启动很慢

容器化技术

容器化技术不是模拟一个完整的操作系统

Docker学习(一)_第6张图片

比较Docker和虚拟机技术的不同

传统虚拟机,虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
Docker容器内的应用直接运行在宿主机的内核,容器没有自己的内核,也没有虚拟我们的硬件,所以就轻便了
每个容器间是相互隔离,每个容器都有一个属于自己的文件系统,互不影响

DevOps(开发、运维)

Docker学习(一)_第7张图片

二、Docker安装与底层原理

1.Docker的名词概念

Docker学习(一)_第8张图片

镜像(image)

docker镜像就好比是一个模板,可以通过这个模板来创建容器服务。

tomcat镜像 ==> run ==> tomcat容器(提供服务)

通过这个镜像可以创建多个容器最终运行或者项目运行都是在容器中的)。

容器(container)

Docker利用容器技术,独立运行一个或者一组应用,是通过镜像来创建的

有启动,停止,删除等Linux基本指令!

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

仓库(repository)

仓库就是存放镜像的地方,分为私有仓库和公有仓库;

Docker Hub(默认是国外的)

阿里云…都有容器服务器(配置镜像加速!)

2.安装Docker

环境查看
# 系统内核是3.10以上的
root@xxx:/# uname -r
3.10.0-957.21.3.el7.x86_64
# 系统版本
[root@AlibabaECS ~]# 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"

正式安装Docker

帮助文档:https://docs.docker.com/engine/install/

# 1、卸载旧的版本
sudo yum remove docker \
                 docker-client \
                 docker-client-latest \
                 docker-common \
                 docker-latest \
                 docker-latest-logrotate \
                 docker-logrotate \
                 docker-engine
                 
# 2、需要的安装包
sudo yum install -y yum-utils

# 3、设置镜像的仓库
#安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
#阿里云的镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#清华大学的镜像
sudo yum-config-manager \
   --add-repo \
   https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

# 更新yum软件包索引
yum makecache fast

# 4、安装docker相关的源 docker-ce 社区 ee 企业版
yum install docker-ce docker-ce-cli containerd.io

# 5、启动docker
systemctl start docker

# 6、使用docker version 查看是否安装成功

# 7、运行hello镜像,本地有就运行,没有就去远程仓库找,再运行
docker run hello-world

# 8、查看下载的这个 hello-world 镜像

Docker学习(一)_第9张图片

Docker学习(一)_第10张图片

运行hello镜像

Docker学习(一)_第11张图片

Docker学习(一)_第12张图片

Docker学习(一)_第13张图片

Docker学习(一)_第14张图片

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

# 2、删除资源
rm -rf /var/lib/docker

# /var/lib/docker docker的默认工作路径

3.阿里云镜像加速

Docker学习(一)_第15张图片

选择对应的操作系统的命令,运行即可
Docker学习(一)_第16张图片

4.回顾HelloWorld流程

Docker学习(一)_第17张图片

5.底层原理

Docker是怎么工作的?

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

DockerServer接收到Docker-Client的指令,就会执行这个命令!
Docker学习(一)_第18张图片

Docker为什么比VM快?

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

Docker学习(一)_第19张图片

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

Docker学习(一)的学习笔记到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

你可能感兴趣的:(Docker,docker)