基本概念
- 镜像源(repo | mirror):查找和拉取镜像的仓库
• Docker的默认配置为DockerHub:DockerHub
•可以自行在配置文件中添加:暂不考虑,为下一步学习计划 - 镜像(image)
• 镜像名:如 wangdefa/centos:7, 是指wangdefa这个人或组织提交到镜像源的名字为centos,标签为7的镜像。若没有wangdefa/则一般为docker官方提供的镜像
• 包含URL的镜像名:repo.myhost/wangdefa/hello-world:ceshi
, repo.muhost指的是特定的镜像源,其余相同 - 标签(Tag):同一个镜像名字可能会有不同的标签,代表不同的版本或分支。可能有多个tag对应一个镜像
• 如centos:7、centos:7.9 、centos:7.9.2009都是指centos的7.9.2009版本,他们的唯一ID(IMAGE ID)一定是相同的 - 容器(container):使用image跑起来的东西
- 容器名(container-name):docker run --name指定的参数,同主机一般不可重复
- 容器ID(container-id):container创建时自动生成的ID,docker ps 的第一列,容器的全局唯一ID,同集群不可重复
- 容器主进程:容器创建的时候执行的命令
基本概念(扩展学习)
- docker:是一种容器运行时(containerd)的封装,包含docker、dockerd和docker.sock。docker是命令行程序,dockerd是docker的服务端,docker.socket是命令行程序或其他客户端与dockerd通信的文件。
- 容器运行时(containerd):是容器运行库(runc)的封装,给运行库提供一种更直观(人类可读)的调用方式,提供ctr命令用于交互,提供containerd.sock用于通信。
- 容器运行库(runc):是真正的linux容器核心,每一个对容器的操作最终可体现为他的一个脚本,提供runc命令用于交互。
- 容器运行库(runV):暂时无需了解
安装Docker
- Redhat系(包含CentOS、Fedora)不可以使用yum安装默认的docker
- Debian系(包含Ubuntu、Kali)不推荐使用apt 安装默认的docker
- 推荐使用官方文档的安装方法:https://docs.docker.com/engine/install/
说明
- 下文中<>内的内容为必须输入的内容,[]内的内容为可选内容
容器的生命周期
- 搜索你想要的镜像
在镜像源中搜索镜像名字为image-name的镜像docker search
- 将你需要的镜像下载到本机
在镜像源中拉取镜像名字为image-name,标签为tag的镜像。其中tag不指定则为latestdocker pull
- 将容器跑起来
# -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]
- 在跑起来的容器里面再执行新的命令
# -i -t 通常简写为 -it,当运行的command为终端(sh/bash/ash等)时需要指定该参数 docker exec [-i] [-t]
- 连接到初始启动容器时的命令(连接到容器主进程的标准输入输出)
# 可以用快捷键Ctrl+P然后按Q的方式detach,此种方案不会导致容器主进程退出 docker attach
- 不进入容器查看初始启动容器命令的输出(容器主进程等的输出)
# -f 持续输出 docker logs [-f]
- 停止容器
docker stop
- 启动已经停止的容器:
docker start
- 重启正在运行或已停止的容器
docker restart
- 查看所有正在运行的容器
# -a 查看包括已经停止、退出的容器 docker ps [-a]
- 查看所有容器的运行状态
docker stats
- 查看某个容器的状态
docker top
- 删除容器
# -f 强制删除容器,可以删除正在运行的容器 docker rm [-f]
- 删除镜像
# tag不指定默认为latest docker rmi
还没发表评论,快来发表第一个评论吧~