Docker学习之Docker镜像基本使用
获取镜像
命令格式:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
例如:
docker pull ubuntu:16.04
启动容器
命令格式:docker run -it --rm ubuntu:16.04 bash,以ubuntu:16.04镜像为基础启动一个容器并运行bash命令:
-it:这是两个参数,一个是-i:交互式操作,一个是-t终端。我们这里打算进入bash执行一些命令并查看返回结果,因此我们需要交互式终端。
--rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用--rm可以避免浪费空间。
ubuntu:16.04:这是指用ubuntu:16.04镜像为基础来启动容器。
bash:放在镜像名后的是命令,这里我们希望有个交互式Shell,因此用的是bash。
退出容器
命令格式:exit
列出本地所有镜像
命令格式:docker image ls,例如:
对于那些没有仓库名也没有标签的镜像,称之为dangling image(虚悬镜像)。
列出这类镜像使用如下命令字:*docker image ls -f dangling=true*
删除此类镜像:*docker image prune*
列出所有镜像包含中间层镜像
命令格式:docker image ls -a
列出部分镜像
根据仓库名列出镜像:docker image ls ubuntu
根据仓库名和标签列出:docker image ls ubuntu:16.04
过滤器参数查询:docker image ls -f since=mongo:3.2、docker image ls -f before=mongo:3.2等
显示镜像摘要:docker image ls --digests
列出镜像ID:docker image ls -q,如下:
删除本地镜像
命令格式:* docker image rm [选项] <镜像1> [<镜像2>...]*
其中镜像是指: 镜像短ID、镜像长ID、镜像名或者镜像摘要。一般镜像id取前三个字符能够区分开来即可。
配合其它命令使用:
docker image rm $(docker image ls -q redis),删除所有redis镜像
docker image rm $(docker image ls -q -f before=mongo:3.2),删除所有在mongo:3.2之前的镜像