您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

Docker镜像操作

Docker镜像操作

镜像(image)

	镜像(image)是Docker三大核心概念中为重要的,自Docker诞生之日起“镜像”就是相关社区为热门的关键词。

	Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器的仓库),用户也可以通过配置,使用自定义的镜像仓库。

1. 搜索镜像

# 使用docker search  [sɜːrtʃ] 命令可以搜索远端仓库中共享的镜像,默认搜索官方仓库中的镜像。
# 用法为docker search 关键字,支持的参数主要包括:

--automated=true|false: [ˈɔːtəmeɪtɪd] 仅显示自动创建的镜像,默认为否;

--no-trunc=true|false:输出信息不截断显示,默认为否;

-s, --stars=X:指定仅显示评价为指定星级以上的镜像,默认为0,即输出所有镜像。

2. 获取镜像

# 对于Docker镜像来说,如果不显式指定TAG,则默认会选择latest [ˈleɪtɪst] 标签,这会下载仓库中新版本的镜像。

$ docker pull centos

# 如果从非官方的仓库下载,则需要在仓库名称前指定完整的仓库地址。例如从网易蜂巢的镜像源来下载ubuntu:14.04镜像,可以使用如下命令,此时下载的镜像名称为
$ docker pull hub.c.163.com/public/ubuntu:14.04

3. 查看镜像信息

$ docker images

- repository [rɪˈpɑːzətɔːri] 来自于哪个仓库:比如ubuntu仓库用来保存ubuntu系列的基础镜像

- 镜像的标签信息:比如14.04、latest用来标注不同的版本信息。标签只是标记,并不能标识镜像内容;TAG信息用来标记来自同一个仓库的不同镜像。例如ubuntu仓库中有多个镜
  像,通过TAG信息来区分发行版本。
- 镜像的ID(唯一标识镜像):如果镜像ID相同,说明实际上指向同一个镜像;在使用镜像ID的时候,一般可以使用该ID的前若干个字符组成的可区分串来替代完整的ID
- 创建时间:说明镜像后的更新时间;
- 镜像大小:优秀的镜像往往体积都较小。镜像大小信息只是表示该镜像的逻辑体积大小,实际上由于相同的镜像层本地只会存储一份,物理上占用的存储空间会小于各镜像的逻辑体积之和。

4. docker inspect[ɪnˈspekt] : 获取容器/镜像的元数据。

### docker inspect[ɪnˈspekt]  : 获取容器/镜像的元数据。 

元数据: 描述数据的数据,对数据及信息资源的描述性信息。

语法:`docker inspect [OPTIONS] NAME|ID [NAME|ID...]` 

OPTIONS说明:

-f :指定返回值的模板文件。 
-s :显示总的文件大小。 
--type :为指定类型返回JSON。  

# 可以使用参数-f来指定,例如,获取镜像的Architecture [ˈɑːrkɪtektʃər]:
$ docker inspect -f {{".Architecture"}} nginx

5. 删除镜像

$ docker rmi 镜像名/id 

6. 创建镜像

创建镜像的方法主要有三种:
基于已有镜像的容器创建
基于本地模板导入
基于Dockerfile创建。

# 该方法主要是使用docker commit命令。

语法:`docker commit [OPTIONS] CONTAINER 
[REPOSITORY[:TAG]]`

- -a, --author=""[ˈɔːθər] 作者信息;
- -c, --change=[]:提交的时候执行Dockerfile指令,包括
  CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等;
- -m, --message="":提交消息;
- -p, --pause=true: [pɔːz]提交时暂停容器运行

7. push镜像

语法:`docker push <hub-user>/<repo-name>:<tag>`

# 样例
$ docker push lidnyun/kube-apiserver-amd64:v1.5.5 

分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进