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

  • [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 命令为例

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

写在最后

相关文章会首发公众号,可以关注公号albk,关注后可以获取大量学习视频

期望热爱技术的你一起来交流,获取最新资料和学习资源,可以关注公众号albk, 个人博客 !

Docker学习(三)认识Docker和常用命令的更多相关文章

  1. docker 学习(十) 容器常用命令

    1  docker run -it ubuntu:15.10 /bin/bash 如果有ubuntu:15.10这个镜像,就run,否则会从dockerhub下载,并run. -it 一般连用,表示按 ...

  2. docker 学习笔记(1)--常用命令

    docker pull---- 获取image(镜像)docker build---- 创建image(镜像)docker images ----查询所有的image(镜像)docker run--- ...

  3. docker 学习(十一) 镜像常用命令

    1 创建账户,创建仓库   首先在dockerhub上有自己的账户,然后创建一个repository(如上图), 然后创建一个名字为robinfei/consumer的仓库. 2  本地镜像打标签(比 ...

  4. Docker(二)安装及常用命令

    1.安装 1.安装虚拟机VMWare 链接:https://pan.baidu.com/s/1Xl7ENUm2gapPOFs-iXHpRQ 提取码:eubm 2.下载centos,我下的是这个版本的 ...

  5. Dockerfile自动制作Docker镜像(二)—— 其它常用命令

    Dockerfile自动制作Docker镜像(二)-- 其它常用命令 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Dockerf ...

  6. linux基础学习之软件安装以及常用命令

    linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...

  7. redis学习-列表(list)常用命令

    redis学习-列表(list)常用命令   lpush:从列表左侧头部添加数据 rpush:从右侧尾部添加数据 lpop:从给左侧头部取出一个元素 rpop:从右侧尾部取出一个元素 lrange:取 ...

  8. 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)

    一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...

  9. Docker学习笔记(1) — docker 常用命令

    1. docker version显示 Docker 版本信息.2. docker info显示 Docker 系统信息,包括镜像和容器数.3. docker searchdocker search ...

  10. docker(三) 镜像和容器常用命令

    一.镜像操作 1.搜索镜像 可以直接在Docker Hub 直接搜索镜像,当然也可以使用命令来搜索. docker search 名称 docker search tomcat 2.拉取镜像 dock ...

随机推荐

  1. Python--day34--socket模块的方法

    官方文档对socket模块下的socket.send()和socket.sendall()的解释如下: sk.setblocking(False)方法 import socket sk = socke ...

  2. H3C 单路径网络中环路产生过程(3)

  3. InetAddress与Socket

    InetAddress:构造方法私有,不能直接创建对象. InetAddress getByName(String host):在给定主机名的情况下确定主机的ip地址. InetAddress get ...

  4. P1007 N钱M鸡问题

    题目描述 已知公鸡 \(5\) 元钱一只,母鸡 \(3\) 元钱一只,小鸡 \(3\) 只 \(1\) 元钱. 告诉你一个整数 \(n(1 \le n \le 1000)\) ,你现在要花 \(n\) ...

  5. SpringBoot: 浅谈文件上传和访问的坑 (MultiPartFile)

    本次的项目环境为 SpringBoot 2.0.4, JDK8.0. 服务器环境为CentOS7.0, Nginx的忘了版本. 前言 SpringBoot使用MultiPartFile接收来自表单的f ...

  6. 【t081】序列长度(贪心做法)

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 有一个整数序列,我们不知道她的长度是多少(即序列中整数的个数),但我们知道在某些区间中至少有多少个整数 ...

  7. phpcms 增加备案号、联系方式等字段

    准备好记事本或者dreamweaver或者其它文本编辑器 打开\phpcms\languages\zh-cn\admin.lang.php PHPCMS的中文语言定义文件. 查找“site_manag ...

  8. Linux 内核探测和去连接的细节

    在之前章节描述的 struct usb_driver 结构中, 驱动指定 2 个 USB 核心在合适的时候 调用的函数. 探测函数被调用, 当设备被安装时, USB 核心认为这个驱动应当处理; 探测 ...

  9. vue-cli 3.0 eslint

    1.关闭eslint module.exports = { configureWebpack: { devtool: 'source-map' }, lintOnSave: false } 2.修改e ...

  10. 2018-2-13-win10-uwp-模拟网页输入

    title author date CreateTime categories win10 uwp 模拟网页输入 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 1 ...