docker笔记2
- 一、阿里云镜像配置
- 二、docker基本原理
- 1.docker是如何启动一个容器的
- 2.docker的底层原理
- 三、镜像命令
- 总结
一、阿里云镜像配置
配置镜像的目的
- 由于Docker Hub等公共镜像仓库的服务器可能位于国外,直接从中拉取镜像时可能会遇到网络延迟或不稳定的问题,导致下载速度缓慢甚至失败。
具体使用
- 阿里云镜像服务拥有遍布全国的节点,用户可以选择离自己最近的节点来加速镜像的下载,从而显著提高镜像的拉取速度
在阿里云官网找到容器镜像服务下的镜像加速器,在加速器下选择CentOS系统,然后便可以根据提示的命令配置阿里云镜像。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://kl4flq2i.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二、docker基本原理
1.docker是如何启动一个容器的
下图为docker启动一个镜像的流程图。首先docker会在本地寻找该镜像是否存在,如果不存在,会去访问docker hub;如果docker hub存在该镜像,那么会下载到本地,使用该镜像构建容器执行;如果docker hub中没有该镜像,那么报错,找不到镜像。
2.docker的底层原理
再来看下这个对比图,docker直接使用操作系统内核,而不是像虚拟机部署那样分别在每个虚拟上安装操作系统,这避免了安装的繁琐,同时也加快了运行的速度。
下图可以看到,客户端都是通过后台的守护进程来操作docker容器的。
Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问!
DockerServer接收到Docker-Client的指令,就会执行这个命令。
三、镜像命令
帮助命令
docker version # 显示docker的版本信息
docker info # 显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help # 帮助命令
查看镜像
docker images
搜索镜像
docker search mysql
比如我这里搜索mysql镜像,那么就会到浏览器查找镜像,并安装stars降序排列,stars越多,说明使用的人越多。
下载镜像
docker pull mysql
下面是我下载镜像,这个下载有些类似分片上传的感觉。如果你下载不同的版本,那么docker只会下载非重复的内容。
删除镜像
# 删除指定镜像
docker rmi -f IMAGE ID
# 删除多个镜像
docker rmi -f IMAGE ID1 IMAGE ID2 IMAGE ID3
# 删除全部镜像
docker rmi -f $(docker images -aq)
总结
简单记录docker的基本原理和基本命令,最重要的还是操作。