文章目录
1. Docker的基本组成
Docker的基本组成图如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R7qTastf-1640933426388)(C:\Users\Bai\AppData\Roaming\Typora\typora-user-images\image-20211231141630876.png)]](https://file.cfanz.cn/uploads/png/2022/01/06/10/3e47Id8DQ9.png)
镜像(image)
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像==>run==>tomcat01容器(提供服务器),通过这个镜像可以·创建多个容器(最终服务运行或者项目运行就是在容器中的)。
容器(container)
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。
启动,停止,删除,基本命令!
目前就可以把这个容器理解为就是一个简易的linux系统。
仓库(repository)
仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库!
Docker Hub(默认是国外的)
阿里云…都有容器服务器(配置镜像加速!)
2. 安装Docker
1、需要会一点点的Linux的基础
2、CentOS 7
3、我们使用Xshell连接远程服务器进行操作!
#系统内核是 3.10 以上的
[root@bai ~]# uname -r
3.10.0-1160.31.1.el7.x86_64
 
#系统版本
[root@bai ~]# 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"
 
 
帮助文档:
#1、卸载旧的版本
yum remove docker \
     docker-client \
     docker-client-latest \
     docker-common \
     docker-latest \
     docker-latest-logrotate \
     docker-logrotate \
     docker-engine
     
#2、需要的安装包
yum install -y yum-utils
#3、设置镜像的仓库
yum-config-manager \
	--add-repo \
	http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo	#推荐阿里云镜像,快
# 更新yum软件包索引
yum makecache fast
#4、安装docker	 docker-ce社区 	ee企业版
yum install -y docker-ce docker-ce-cli containerd.io
#5、启动docker
systemctl start docker
#6、使用docker version是否安装成功!
 
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cSn6beZl-1640933426390)(C:\Users\Bai\AppData\Roaming\Typora\typora-user-images\image-20211231144122500.png)]](https://file.cfanz.cn/uploads/png/2022/01/06/10/QMXEA4Rc9X.png)
#7、hello-world
docker run hello-world
 
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HeDni2Cn-1640933426390)(C:\Users\Bai\AppData\Roaming\Typora\typora-user-images\image-20211231144330417.png)]](https://file.cfanz.cn/uploads/png/2022/01/06/10/aD020E0b4L.png)
#8、查看一下下载的这个hello world 镜像
[root@bai ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    feb5d9fea6a5   3 months ago   13.3kB
 
了解:卸载docker
#1、卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
#2、删除资源
rm -rf /var/lib/docker
# /var/lib/docker 	docker的默认工作路径!
 
3、阿里云镜像加速
1、登录阿里云找到容器服务
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PVWPND6o-1641464857547)(C:\Users\Bai\AppData\Roaming\Typora\typora-user-images\image-20211231200600769.png)]](https://file.cfanz.cn/uploads/png/2022/01/06/10/0c63POQa2d.png)
2、找到镜像加速地址

3、配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://p6nj2a9o.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
 
4、回顾HelloWorld流程
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ULX07Ak-1641464857548)(C:\Users\Bai\AppData\Roaming\Typora\typora-user-images\image-20211231201100003.png)]](https://file.cfanz.cn/uploads/png/2022/01/06/10/c74L080U52.png)
5、底层原理
Docker是怎么工作的?
Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!
DockerServer接收到Docker-Client的指令,就会执行这个命令!
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2SYCRWgL-1641464857549)(C:\Users\Bai\AppData\Roaming\Typora\typora-user-images\image-20211231201430875.png)]](https://file.cfanz.cn/uploads/png/2022/01/06/10/74Lf734926.png)
Docker 为什么比 VM 快
1、Docker有着比虚拟机更少的抽象层
2、Docker利用的是宿主机的内核,VM需要是 Guest OS.
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tOOlMK16-1641464857550)(Docker%E6%80%BB%E7%BB%93.assets/image-20220106170415104.png)]](https://file.cfanz.cn/uploads/png/2022/01/06/10/8MT53V9Z63.png)
所以说,新建一个容器的时候,docker不需要向虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载 Guest OS 分钟级别的,而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级!

之后学习完毕所有的命令,再回过头来看这段理论,就会很清晰!










