四.Docker镜像的使用

一.Docker 安装

1.1  查看系统版本

[root@node1 ~]# cat /etc/redhat-release 

CentOS release 6.6 (Final)

1.2 使用epel yum

[root@node1~]#rpm -ivh http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm

 

1.3安装docker 

[root@node1 ~]# yum install docker-io

1.4启动docker 

[root@node1 ~]# /etc/init.d/docker restart

二.使用镜像

2.1 获取镜像

镜像是docker 运行的前提 可以使用 docker pull命令从网络上下载镜像。该命令的格式是 docker pull Name【:tag】 。对于docker 镜像来说 不显示知道的tag,默认会选择latest标签下载,即下载仓库中最新的镜像。

下面演示如何从docker hubcentos仓库下下载一个最新的centos操作系统的镜像

[root@node1 ~]# docker pull centos

该命令实际上下载的是 centoslatest镜像。最新的版本

还可以通过标签来下载特定版本的某一个镜像。例如6.5标签的镜像

docker pull centos:6.5

下载镜像到本地后就可以使用镜像,创建容器,在其中运行bash应用

[root@node1 ~]# docker run -t -i centos:centos6 /bin/bash

[root@dded20f37712 /]#  

表示进入到容器内了,run 后面的参数后面会写。

2.2查看镜像信息

使用 docker p_w_picpaths 命令可以列出本地主机上已有的镜像。

[root@node1 ~]# docker p_w_picpaths

wKioL1U9mpXDgDwjAAFVekryquE737.jpg 

在列出信息中,可以看到几个字段信息:

来自那个仓库 例如:centos仓库

镜像的标签信息 例如 6

镜像的ID号(唯一)

创建时间。

镜像大小 其中镜像的ID信息十分重要,它唯一标记了镜像

可以用docker inspect命令来获取镜像的详细信息

[root@node1 ~]# docker inspect f6808a3e4d9e  语法 docker inspect  MAGE ID  (也就是镜像的id

wKiom1U9mdjw1rlWAAJjXpUFsNM607.jpg

三.搜寻镜像

3.1 使用docker search 命令可以搜寻远端仓库中共享的镜像,默认是 Docker Hub官方中的镜像。 语法  

[root@node1 ~]# docker search mysql   mysql 表示要搜寻的镜像) 支持的参数包括

--automated=false 仅显示自动创建的镜像。

--no-trunc=false 输出信息不截断显示

-s--stars=0 指仅显示评价为指定星级以上的镜像

四 删除镜像 

使用镜像的标签来删除镜像

可以使用 docker rmi 命令来删除镜像 命令的格式 docker rmi TMAGE[INAGE] 可以使用标签或者id

[root@node1 ~]# docker rmi 5b2fff9306bd

wKiom1U9mbjBntdFAAFVekryquE258.jpg

wKioL1U9mx2j0QTdAAVvt9gjyIs389.jpg


·

如果 后台存在一个已退出状态的容器,试图删除镜像会报错 则使用

Docker rmi -f 镜像id 

-f 表示强制删除 (不推荐用-f

可以先删除容器 在删除镜像

删除容器的命令是 docker rm 容器的id 

容器的id 可以通过 docker ps  -a 来查看

 wKioL1U9mvOQgIfeAAGWG4MiZNk378.jpg

四.存出和载出镜像

4.1 可以使用docker save docker load 命令

存出镜像

如果要存出镜像到本地文件,可以使用 docker save 命令

[root@node1 ~]# docker save -o centos.tar f6808a3e4d9e (镜像的Id

wKiom1U9mXniBKGFAACzAAeUlkU332.jpg 

载入镜像

可以使用 docker load 从本地的文件中在导入到本地镜像库,例如讲centos.tar 导入镜像到本地镜像库

[root@node1 ~]# docker load --input centos.tar 

[root@node1 ~]# docker load < centos.tar 

五.上传镜像

 可以使用 docker push命令上传镜像到仓库,默认传到dockerHub官方仓库(需要登录)

命令的语法 docker push NAME[:TAG]

Docker tag centos:centos6 

第一次使用的时候会提示输入登录信息或进行注册