当运行容器时,使用镜像若是在本地中不存在,docker会自动从docker镜像仓库中下载,默认是从docker hub公共镜像源下载。docker
列出镜像列表ubuntu
使用命令 docker iamges 列出本地主机上的镜像centos
其中各个选项的说明:bash
REPOSITORY:表示镜像的仓库网站
TAG:镜像的标签ui
IMAGE ID:镜像idblog
CREATED:镜像建立的时间get
SIZE:镜像大小dockerfile
同一个仓库源能够有多个TAG,表明这个仓库源的不一样版本,使用REPOSITORY:TAG来定义不一样的镜像it
获取一个新的镜像
当本地主机使用一个不存在的镜像时,Docker就会自动下载这个镜像,若是想预先下载这个镜像,可使用docker pull命令下载它。
下载完成后,就可使用这个镜像运行容器
查找镜像
能够从docker hub网站来搜索镜像,docker hub网址:https://hub.docker.com/
可使用docker search 命令搜索镜像。
NAME:镜像仓库的名称
DESCRIPTION:镜像描述
OFFICE:是否docker官方发布
建立镜像
当从docker镜像仓库中下载的镜像不能知足需求时,能够经过如下两种方式对镜像进行更改
1. 从已经建立的容器中更新镜像,而且提交这个镜像
2.使用dockerfile指令来建立一个新的镜像
更新镜像
更新以前须要使用镜像建立一个容器
在运行的容器内使用apt-get update 命令进行更新,完成操做后,输入exit的命令退出容器。
而后经过docker commit 来提交容器副本。
docker commit -m="has update“ -a="runoob" 容器id runoob/ubuntu:v2
其中:-m:提交的描述信息
-a:指定镜像的做者
runoob/ubuntu:v2 指定要建立的目标镜像名
提交以后,经过命令docker images 命令查看新镜像
使用新镜像runoob/ubuntu来启动一个容器
docker run -it runoob/ubuntu:v2 /bin/bash
构建镜像
使用docker build命令从零开始建立一个新镜像。为此,须要建立一个Dockerfile文件,其中包括一组指令来告诉docker 如何建立镜像。
例如:Dockerfile文件以下
每个指令都会在镜像上建立一个新的曾,每个指令的前缀必须是大写的
FROM指令指定使用哪一个镜像源
RUN 指令告诉docker在镜像内执行的命令,安装了什么
文件建立后,使用Dockerfile文件,经过docker build命令来构建一个镜像
参数说明:
-t:指定要建立的目标镜像名
.:Dockerfile文件所在目录,能够指定Dockerfile的绝对路径
使用docker images命令查看建立的镜像,能够看出镜像已经存在,镜像id:a827002e59fb
使用建立的镜像建立一个容器:
docker run -i -t runoob/centos:latest /bin/bash
能够看到新镜像已经包含建立的用户runoob
设置镜像标签
可使用docker tag 命令,为镜像添加一个新标签
能够看到镜像id为a827002e59fb的镜像多了一个标签。