基本概念

  1. 镜像源(repo | mirror):查找和拉取镜像的仓库
    • Docker的默认配置为DockerHub:DockerHub
    可以自行在配置文件中添加:暂不考虑,为下一步学习计划
  2. 镜像(image)
    • 镜像名:如 wangdefa/centos:7, 是指wangdefa这个人或组织提交到镜像源的名字为centos,标签为7的镜像。若没有wangdefa/则一般为docker官方提供的镜像
    • 包含URL的镜像名:repo.myhost/wangdefa/hello-world:ceshi, repo.muhost指的是特定的镜像源,其余相同
  3. 标签(Tag):同一个镜像名字可能会有不同的标签,代表不同的版本或分支。可能有多个tag对应一个镜像
    • 如centos:7、centos:7.9 、centos:7.9.2009都是指centos的7.9.2009版本,他们的唯一ID(IMAGE ID)一定是相同的
  4. 容器(container):使用image跑起来的东西
  5. 容器名(container-name):docker run --name指定的参数,同主机一般不可重复
  6. 容器ID(container-id):container创建时自动生成的ID,docker ps 的第一列,容器的全局唯一ID,同集群不可重复
  7. 容器主进程:容器创建的时候执行的命令

基本概念(扩展学习)

  1. docker:是一种容器运行时(containerd)的封装,包含docker、dockerd和docker.sock。docker是命令行程序,dockerd是docker的服务端,docker.socket是命令行程序或其他客户端与dockerd通信的文件。
  2. 容器运行时(containerd):是容器运行库(runc)的封装,给运行库提供一种更直观(人类可读)的调用方式,提供ctr命令用于交互,提供containerd.sock用于通信。
  3. 容器运行库(runc):是真正的linux容器核心,每一个对容器的操作最终可体现为他的一个脚本,提供runc命令用于交互。
  4. 容器运行库(runV):暂时无需了解

安装Docker

  • Redhat系(包含CentOS、Fedora)不可以使用yum安装默认的docker
  • Debian系(包含Ubuntu、Kali)不推荐使用apt 安装默认的docker
  • 推荐使用官方文档的安装方法:​​https://docs.docker.com/engine/install/​​

说明

  1. 下文中<>内的内容为必须输入的内容,[]内的内容为可选内容

容器的生命周期

  1. 搜索你想要的镜像
    在镜像源中搜索镜像名字为image-name的镜像

    docker search
  2. 将你需要的镜像下载到本机
    在镜像源中拉取镜像名字为image-name,标签为tag的镜像。其中tag不指定则为latest

    docker pull
  3. 将容器跑起来
    # -d 将容器推出到后台运行
    # -i -t 通常简写为 -it,当运行的command为终端(sh/bash/ash等)时需要指定该参数
    # --rm 当容器的主进程退出后即删除容器
    # -v 将源目录/文件映射到容器内的目录/文件,需要指定绝对路径
    # -p 将主机上的端口映射到容器内,访问主机上的对应端口即视为访问容器内的对应端口
    # -e 指定容器内的环境变量KEY的值为value
    # --name 给容器起个名 
    # command 容器创建时执行的命令,(默认为镜像构建时指定的参数,下节课讲)
    docker run [-d] [-i] [-t] [--rm] [-v ] [-p ] [-e =value>] [--name ]  [command]
  4. 在跑起来的容器里面再执行新的命令
    # -i -t 通常简写为 -it,当运行的command为终端(sh/bash/ash等)时需要指定该参数
    docker exec [-i] [-t]
  5. 连接到初始启动容器时的命令(连接到容器主进程的标准输入输出)
    # 可以用快捷键Ctrl+P然后按Q的方式detach,此种方案不会导致容器主进程退出
    docker attach
  6. 不进入容器查看初始启动容器命令的输出(容器主进程等的输出)
    # -f 持续输出
    docker logs [-f]
  7. 停止容器
    docker stop
  8. 启动已经停止的容器:
    docker start
  9. 重启正在运行或已停止的容器
    docker restart
  10. 查看所有正在运行的容器
    # -a 查看包括已经停止、退出的容器
    docker ps [-a]
  11. 查看所有容器的运行状态
    docker stats
  12. 查看某个容器的状态
    docker top
  13. 删除容器
    # -f 强制删除容器,可以删除正在运行的容器
    docker rm [-f]
  14. 删除镜像
    # tag不指定默认为latest
    docker rmi

Categories:

Tags:

还没发表评论,快来发表第一个评论吧~

发表回复