Docker 认识 Docker 和常用命令

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执行过程

此处输入图片的描述

  • Docker Host是我们的docker宿主机

  • Registry是docker拉取镜像的远程仓库,提供大量的镜像供下载,下载完成之后保存在Images中

  • Docker Daemon是docker的服务线程,处理客户端命令

  • Images 是本地的镜像仓库,可以通过docker images查看

Docker Daemon是docker的服务线程,处理客户端命令

执行过程

  • 客户端通过rest api 发送指令到 docker host的docker daemon进程,

  • Docker daemon进程处理不同的指令,交将结果返回到客户端

以docker pull 命令为例

  1. 客户端通过rest api将指令发送给docker daemon
  2. docker daemon 先检查本地images中有没有相关的镜像
  3. 如果本地没有相关的镜像,则向镜像服务器请求,将远程镜像下载到本地
  4. 返回客户端