Docker学习笔记

Docker学习笔记

    • docker的作用
    • docker的基本组成
    • 安装docker
    • 阿里云镜像加速
    • run的流程和docker原理

docker的思想来自于集装箱。
核心思想: 隔离
docker可以通过隔离机制将服务器利用到极致。
虚拟机:在windows中装一个Vmware,通过这个软件可以虚拟出一台或多台电脑,笨重。
虚拟机也是属于虚拟化技术,docker容器技术,也是一种虚拟化技术。
docker,隔离,(最核心的环境,4m+jdk+mysql)十分的小巧,运行镜像就可以了。

docker的作用

·虚拟机技术缺点:
1.资源占用十分多
2.冗余步骤多
3.启动很慢
·容器化技术:
容器化技术不是模拟的一个完整的操作系统
·docker和虚拟机的不同:
·传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
·容器的应用直接运行在宿主机的内核,容器是没有自己的内核的,也没有虚拟我们的 硬件,所以就轻便了。
·每个容器间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响。
DevOps(开发、运维)
更快速的交付和部署。
传统:一堆帮助文档、安装程序
Docker:一键镜像发布测试、一键运行
更便捷的升级和扩缩容。
使用了docker之后,我们部署应用就和搭积木一样。
项目打包为一个镜像,扩展服务器A,服务器B。
更简单的系统运维
在容器化之后,开发、测试环境高度一致
更高效的计算资源利用
docker是内核级别的虚拟化,可以在一个物理机上运行很多容器实例,服务器的性能可以被压榨到极致。

docker的基本组成

Docker学习笔记_第1张图片
镜像(image)
docker镜像就好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像===>run==>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或项目运行就是在容器中的)。
容器(contanier)
docker利用容器技术,独立运行一个或一组应用,通过镜像来创建的。
启动,停止,删除,基本命令。目前可以将容器理解为一个简易的Linux系统。
仓库(repository)
仓库就是存放镜像的地方。
仓库分为共有仓库和私有仓库。
docker hub(默认是国外的)
阿里云等有容器服务(配置镜像加速)

安装docker

查看云服务器环境。
Docker学习笔记_第2张图片
系统版本:

[root@tian ~]# cat /etc/os-release
NAME="Alibaba Cloud Linux"
VERSION="3 (Soaring Falcon)"
ID="alinux"
ID_LIKE="rhel fedora centos anolis"
VERSION_ID="3"
PLATFORM_ID="platform:al8"
PRETTY_NAME="Alibaba Cloud Linux 3 (Soaring Falcon)"
ANSI_COLOR="0;31"
HOME_URL="https://www.aliyun.com/"

进入[docker官网]
卸载旧版本docker:

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

Docker学习笔记_第3张图片
需要的安装包:

yum install -y yum-utils

Docker学习笔记_第4张图片
Docker学习笔记_第5张图片
设置镜像的仓库:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #国外镜像
yum-config-manager --add-repo 
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #阿里云镜像

更新软件包索引

yum makecache

Docker学习笔记_第6张图片

安装docker相关的 docker-ce社区 ee 企业版

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

一路y就安装成功啦!
Docker学习笔记_第7张图片
启动docker:

systemctl start docker

使用docker -version查看是否安装成功。
Docker学习笔记_第8张图片
hello world!

docker run hello-world

Docker学习笔记_第9张图片
查看下载的镜像:

docker images

Docker学习笔记_第10张图片
docker卸载:
1.卸载依赖

sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2.删除资源

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

阿里云镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://95xgetrg.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

run的流程和docker原理

Docker学习笔记_第11张图片
底层原理:
docker是一个Client-Sever结构的系统,docker的守护进程运行在主机上,通过Socket从客户端进行访问。
DockerSever接收到Docker-Client的指令,就会执行这个命令!
Docker学习笔记_第12张图片
docker为什么比vm块?
1.docker有着比虚拟机更少的抽象层。
Docker学习笔记_第13张图片
2.docker利用的是宿主主机的内核,vm需要的是Guest Os。
所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统的内核,避免引导。虚拟机时加载Guest OS,分钟级别的,而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级。

[原始课程]

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