docker 镜像使用

当运行容器时,使用镜像如果在本地中不存在,docker会自动从docker镜像仓库中下载,默认是从docker hub公共镜像源下载。

列出镜像列表

使用命令 docker images 或者docker image ls 列出本地主机上的镜像

其中各个选项的说明:

REPOSITORY:表示镜像的仓库

TAG:镜像的标签

IMAGE ID:镜像id

CREATED:镜像创建的时间

SIZE:镜像大小

同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,使用REPOSITORY:TAG来定义不同的镜像

获取一个新的镜像

docker pull(push)

镜像加速器:阿里云加速器,daocloud加速器,中科大加速器,Docker 中国官方镜像加速:https://registry.docker-cn.com

例如: docker pull centos:6.8(没有指定版本,默认会下载最新版)

            docker pull daocloud.io/huangzhichong/alpine-cn:latest

扩展:查询docker镜像所有版本https://hub.docker.com/r/library/

当本地主机使用一个不存在的镜像时,Docker就会自动下载这个镜像,如果想预先下载这个镜像,可以使用docker pull命令下载它。

下载完成后,就可以使用这个镜像运行容器

查找镜像

可以从docker hub网站来搜索镜像,docker hub网址:https://hub.docker.com/

可以使用docker search 命令搜索镜像。

选镜像的建议:

1.优先考虑官方

2.starts数量多

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的镜像多了一个标签。

docker镜像的其他命令

删除镜像
docker rmi

例子:docker image rm centos:latest

导出镜像

docker save

例子:docker image save centos > docker-centos7.4.tar.gz

导入镜像

docker load

例子:docker image load -i docker-centos7.4.tar.gz

posted @ 2019-05-27 20:27  出水芙蓉·薇薇  阅读(1516)  评论(0编辑  收藏  举报