镜像的使用(6-13)

 一、管理和使用本地docker主机镜像

列出镜像列表

 

 

REPOSTORY :表示镜像的仓库源

TAG                     :表示镜像的标签

IMAGE ID     :镜像ID

CREATED      :镜像创建时间

SIZE              :镜像大小

(同一个仓库源中可以有多个TAG,用REPOSTTY + TAG来区分镜像)

获取一个新的镜像

当我们在主机上使用一个不存在的镜像时,docker会自动下载这个镜像。如果我们想要预先现在这个镜像可以用 docker pull [镜像名字] 这命令

 

 

现在再列出镜像列表,已经添加进去了

 

 

现在就可以用这个镜像运行容器了

查找镜像

我们可以从docker hub上查找镜像,网址:https://hub.docker.com/

也可以通过命令来查找镜像:docker search [NAME]

 

 

NAME                 :镜像仓库源的名称

DSCRIPTION       :描述

OFFICIAL             :是否官方发布

拖取镜像

当我们从镜像仓库下载的镜像不能满足我们的需求时,有两种解决办法:

  1. 通过已有的容器更新镜像并提交。
  2. 使用dockerfile指令创建一个新的镜像。

更新镜像

先创建一个容器

 

 

然后在容器内用apt-get update命令更新源

 

 

完成操作后可用exit命令退出容器

此时容器ID为10b42799e3d2,假设更新完了,现在需要提交:docker commit命令来提交。

 

 

-m                       :提交的描述信息

-a                         :指定镜像的作者

10b42799e3d2    :容器ID

root/Ubuntu:v2  :指定要创建的目标镜像名

可以看到已经添加更新了

 

 

构建镜像

使用docker build命令构建一个镜像。在此之前先要创建一个Dockerfile文件夹,其中包括一组指令来告诉Docker如何构建我们的镜像。

FROM    centos:6.7

MAINTAINER      Fisher "fisher@sudops.com"

 

RUN     /bin/echo 'root:123456' |chpasswd

RUN     useradd runoob

RUN     /bin/echo 'runoob:123456' |chpasswd

RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local

EXPOSE  22

EXPOSE  80

CMD     /usr/sbin/sshd –D

 

镜像是分层处理的嘛,所以每个命令都是在新的上一层的基础上进行改进。

FORM    :指定是使用哪个镜像源

RUN       :告诉docker在镜像中执行什么命令,安装什么

 

然后使用docker build命令进行镜像的创建

 

 

-t    :指定要创建的目标镜像名

.      :(命令最后有一个点)Dockerfile所在目录,可以指定Dockerfile所在的绝对目录

可以看到确实创建了镜像

 

 

设置镜像标签

docker tag b8296cd99e69 runoob/centos:dev

docker tag [ID] [用户名称]/[镜像源名]:[新标签名]

 

 

posted @ 2018-06-13 11:24  勿忘初心0924  阅读(197)  评论(0编辑  收藏  举报