注:此为笔者学习狂神说Docker的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!!
Docker
一、Docker入门
1. Docker 为什么会出现
2.Docker
文档地址: https://docs.docker.com/Docker的文档是超级详细的 !
仓库地址: https://hub.docker.com/
3.Docker能做什么
之前的虚拟机技术
虚拟机技术的缺点:
- 资源占用十分多
- 冗余步骤多
- 启动很慢
容器化技术
容器化技术不是模拟一个完整的操作系统
比较Docker和虚拟机技术的不同
传统虚拟机,虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
Docker容器内的应用直接运行在宿主机的内核,容器没有自己的内核,也没有虚拟我们的硬件,所以就轻便了
每个容器间是相互隔离,每个容器都有一个属于自己的文件系统,互不影响
DevOps(开发、运维)
二、Docker安装与底层原理
1.Docker的名词概念
镜像(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 镜像
运行hello镜像
卸载docker
# 1、依赖卸载
yum remove docker-ce docker-ce-cli containerd.io
# 2、删除资源
rm -rf /var/lib/docker
# /var/lib/docker docker的默认工作路径
3.阿里云镜像加速
选择对应的操作系统的命令,运行即可
4.回顾HelloWorld流程
5.底层原理
Docker是怎么工作的?
Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问!
DockerServer接收到Docker-Client的指令,就会执行这个命令!
Docker为什么比VM快?
- Docker有着比虚拟机更少的抽象层
- Docker利用的是宿主机的内核,VM需要的是Guest OS
所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guset OS , 分钟级别的,而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级。
Docker学习(一)的学习笔记到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧