Docker简介和常用命令

一、Docker的基本概念

  1. Docker 使用的是 C/S 结构,即客户端/服务器体系结构。
  2. Docker 客户端与 Docker 服务器进行交互时,Docker 服务端负责构建、运行和分发 Docker 镜像。
  3. Docker 客户端和服务端可以运行在一台机器上,我们可以通过 RESTful 、Stock 或网络接口与远程 Docker 服务端进行通信。
    在这里插入图片描述

二、Docker的核心组件

  1. Docker Client

a. Docker Client ,也称 Docker 客户端。它其实就是 Docker 提供命令行界面(CLI)工具,是许多 Docker 用户与 Docker 进行交互的主要方式。
b. 客户端可以构建,运行和停止应用程序,还可以远程与 Docker_Host 进行交互。
c. 最常用的 Docker 客户端就是 Docker 命令,我们可以通过 Docker 命令很方便地在 Host 上构建和运行 Docker 容器。

  1. Docker Daemon

a. Docker Daemon 是服务器组件,以 Linux 后台服务的方式运行,是 Docker 最核心的后台进程,我们也把它称为守护进程。
b. 负责响应来自 Docker Client 的请求,然后将这些请求翻译成系统调用完成容器管理操作。
c. 该进程会在后台启动一个 API Server ,负责接收由 Docker Client 发送的请求,接收到的请求将通过 Docker Daemon 内部的一个路由分发调度,由具体的函数来执行请求。
d. Docker Daemon大致分为三个部分

  • Docker Server
  • Engine
  • Job
    在这里插入图片描述
    Docker Daemon 可以认为是通过 Docker Server 模块接受 Docker Client 的请求,并在 Engine 中处理请求,然后根据请求类型,创建出指定的 Job 并运行。
    Docker Daemon 运行在 Docker Host 上,负责创建、运行、监控容器,构建、存储镜像。
    运行过程的作用有以下几种可能:
    向 Docker Registry 获取镜像。
    通过 GraphDriver 执行容器镜像的本地化操作。
    通过 NetworkDriver 执行容器网络环境的配置。
    通过 ExecDriver 执行容器内部运行的执行工作。
  1. Docker Image

a. Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
b. 镜像不包含任何动态数据,其内容在构建之后也不会被改变。我们可将 Docker 镜像看成只读模板,通过它可以创建 Docker 容器。
c. 镜像有多种生成方法:

  • 从无到有开始创建镜像
  • 下载并使用别人创建好的现成的镜像
  • 在现有镜像上创建新的镜像
    可以将镜像的内容和创建步骤描述在一个文本文件中,这个文件被称作 Dockerfile ,通过执行 docker build 命令可以构建出 Docker 镜像。
  1. Docker Registry

a. Docker Registry 是存储 Docker Image 的仓库
在这里插入图片描述
b. 运行 docker push、docker pull、docker search 时,实际上是通过 Docker Daemon 与 Docker Registry 通信。

  1. Docker Container

a. Docker 容器就是 Docker 镜像的运行实例,是真正运行项目程序、消耗系统资源、提供服务的地方
b. Docker Container 提供了系统硬件环境,我们可以使用 Docker Images 这些制作好的系统盘,再加上我们所编写好的项目代码,Run 一下就可以提供服务。

三、Docker常用命令

  1. 查看docker命令帮助文档
docker -h
  1. 拉取一个 Docker 镜像
docker pull <image_name>:<tag>
#不加tag,默认是latest
docker pull image_name
  1. 查看主机下的所有镜像
docker images
  1. 查看主机下所有的容器
#-a 是查看当前所有的容器,包括未运行的。不加-a表示查看当前正在运行的容器
docker ps -a
  1. 启动、重启或停止容器
docker start container_name/container_id
docker restart container_name/container_id
docker stop container_name/container_id
  1. 进入到某个容器中
docker attach container_name/container_id
  1. 运行容器,并且调用里面的 bash
docker run -t -i container_name/container_id /bin/bash
  1. 删除容器
docker rm container_name/container_id
  1. 删除镜像
docker rmi image_name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值