docker镜像和容器介绍
1、介绍
docker有三个重要概念,仓库Repository,镜像Image和容器Container。
(1)容器
一个容器对应一个可用的程序。可能是简单的程序,比如hello world。也可能是知名的应用,比如mysql、tomcat。甚至可能是操作系统,比如linux。
docker容器的运行与常规的运行类似,也会占用docker所在主机的cpu资源、内存资源、硬盘资源,以及端口资源等。如果不考虑docker容器版本的可能优化,其甚至会因为docker而多出一部分消耗。
docker容器各自是相对独立的环境,一个docker容器内所进行的配置或端口占用并不影响另一个docker容器内的配置或端口占用。
但是,如果docker容器需要与外部环境通信,比如tomcat对外提供服务,那么就要将需要的通信docker容器内的端口映射到外部主机的端口。这里的外部主机端口应该是未被占用的,否则会无法映射、无法通信。
(2)镜像
为了能够快速创建可用的容器,进行部署,借用游戏存档的概念,可以创建一系列的静态资源,打包发布,然后下载快速解压部署。
- 镜像可以是很小的程序,比如hello world。也可以是知名的应用,比如tomcat。还可以是操作系统,比如linux。可以是开发的网站应用。
- docker官方提供了一系列的常用的应用镜像,其它第三方也有提供自己的docker版本镜像资源,开发者自己也可以制作镜像并发布
- 一个镜像可以创建多个容器
(3)仓库
仓库是用于存放镜像资源的地址,对外提供下载服务
2、基本查看命令
2.1 info
- 展示docker的信息,包括统计的容器和镜像信息、docker所在系统的信息、docker全局的信息等
2.2 images
列出镜像。包括以下信息:
- repository 仓库名
- tag 标签名,实际就是版本名称,常见的是latest表示最新版本
- image id 镜像编号
- created 创建时间。指的是其在整个互联网的创建
- size 镜像的大小,自带单位
# 过滤,针对image的各项进行匹配,大小写敏感
docker images vul*
2.3 ps
列出容器。包括以下信息:
- container id 容器编号
- image 镜像
- command 备注
- created 创建时间。指的是其在整个互联网的创建
- status 状态。指在当前计算机中开启/关闭,以及持续时间
- port 映射端口与协议,前者是docker所在主机,后者是各容器内状态
- names 容器名称
# 显示所有容器(默认显示刚刚运行的)
docker ps -a
docker ps --all
# 显示正在运行或者刚刚运行的
docker ps
# 过滤显示
docker ps -f,--filter filter
# go语言模板进行过滤设置
docker ps --format string
# 显示最近n个创建的容器(包括所有状态)(默认值为-1)
docker ps -n,--latest
# 只显示容器id
docker ps -q,--quiet
# 显示总共的文件大小
docker ps -s,--size
2.4 stats
显示容器资源使用情况统计信息的实时流
2.5 inspect
docker inspect <容器id>
- 查看更详细的容器信息
2.6 port
docker port <容器id>
- 列出容器的端口映射或特定映射