Docker体系结构
- docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的
- REST API:通信层,基于WEB容器提供http协议服务
- docker CLI: 提供常用的docker命令
基于HTTP协议,docker的兼容性和扩展性是特别好的
基于这种CS架构,对于应用来说,最大的好处就是服务器与客户端可以不用安装在同一台电脑上,可以跨机器管理多台服务器,提高运维效率
Docker命令
docker pull 镜像名<:tags>
-从远程仓库拉取镜像docker images
– 查看本地镜像docker run 镜像名<:tags>
-创建容器,启动应用docker ps
– 查看正在运行中的镜像docker version
– 查看docker版本docker rm <-f> 容器ID
– 删除容器 -f 强制删除,生产环境禁用强制删除docker rmi <-f> 镜像ID
– 删除镜像,-f强制删除,生产环境禁用强制删除- `docker build -t 机构/镜像文件<:tags> Dockerfile目录 – 编译dockerfile镜像配置文件,生成自定义镜像文件
- `docker exec -it 容器id – 运行docker容器
Docker执行过程
- [x] Docker Host是我们的docker宿主机
- [x] Registry是docker拉取镜像的远程仓库,提供大量的镜像供下载,下载完成之后保存在Images中
- [x] Docker Daemon是docker的服务线程,处理客户端命令
- [x] Images 是本地的镜像仓库,可以通过
docker images
查看 - [x] Docker Daemon是docker的服务线程,处理客户端命令
执行过程
- 客户端通过rest api 发送指令到 docker host的docker daemon进程,
- Docker daemon进程处理不同的指令,交将结果返回到客户端
以docker pull 命令为例
- 客户端通过rest api将指令发送给docker daemon
- docker daemon 先检查本地images中有没有相关的镜像
- 如果本地没有相关的镜像,则向镜像服务器请求,将远程镜像下载到本地
- 返回客户端
写在最后
相关文章会首发公众号,可以关注公号albk,关注后可以获取大量学习视频
期望热爱技术的你一起来交流,获取最新资料和学习资源,可以关注公众号albk,个人博客 !
原文地址:https://segmentfault.com/a/1190000021632229