docker 笔记(2) -- 镜像
![](http://owgxfd8jv.bkt.clouddn.com/268198-106.jpg)
参考
额
当使用的镜像文件本地不存在时,则从远程镜像库中下载,默认是 docker Hub,也可以找到其他的镜像库使用
列出所有的本地镜像
root@pinsily:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 05a3bd381fc2 5 weeks ago 1.84kB
表头名分别表示 镜像源、标签、ID、生成时间以及大小,其中我们经常以 REPOSITORY:TAG 来表示镜像,比如 Ubuntu:14.04,如果使用的时候不加标签的话,默认下载最新版本的,也即 latest 标签
预先下载镜像
可以不在使用的时候就把镜像下载好
root@pinsily:~# docker pull ubuntu:14.04
搜索远程镜像库
root@pinsily:~# docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating s... 6699 [OK]
ubuntu-upstart Upstart is an event-based replacement for ... 80 [OK]
ubuntu-debootstrap debootstrap --variant=minbase --components... 31 [OK]
saltstack/ubuntu-14.04-minimal 7 [OK]
brook/ubuntu-14.04.3-baidupcs https://github.com/GangZhuo/BaiduPCS 此项目功能... 6 [OK]
saltstack/ubuntu-14.04 5 [OK]
tmartinx/ubuntu-14.04-server-cloudimg Ubuntu 14.04 LTS (Trusty Tahr) Cloud image 2
fernandoacorreia/ubuntu-14.04-oracle-java-1.7 Docker image with Ubuntu 14.04 and Oracle ... 1 [OK]
mist/ubuntu-14.04 Ubuntu 14.04 image with openssh server and... 1
simphonyproject/ubuntu-14.04-remote LEGACY. Ubuntu 14.04 with Remote Access Su... 1 [OK]
NAME | 镜像仓库源的名称 |
DESCRIPTION | 镜像的描述 |
OFFICIAL | 是否docker官方发布 |
运行镜像
root@pinsily:~# docker run hello-world
更新镜像
可以将我们修改后的镜像以副本形式上传
更新之前,需要创建一个容器来进行交互,关于容器的记录一起放到下一节讲
root@pinsily:~# docker run -t -i ubuntu:14.04 /bin/bash
root@f34700df208e:/#
创建了一个交互式进程,进入了容器当中(@后面的表示容器 ID),在其中进行软件库更新
root@f34700df208e:/# apt-get update
使用 exit
命令退出容器,记下容器 ID
提交副本
root@pinsily:~# docker commit -m="updated" -a="pinsily" f34700df208e pinsily/ubuntu:14.04_v2
sha256:be2e8bc7629efb487cacaf541fddd8dccaec29be05739fa33743cfb3385f3551
-m | 提交的描述信息 |
-a | 镜像作者 |
f34700df208e | 容器ID |
pinsily/ubuntu:14.04_v2 | 目标镜像名 |
可以查看到我们新提交的镜像,可以以此来创建容器使用
![](http://owgxfd8jv.bkt.clouddn.com/1508577954564.jpg)
添加镜像标签
对上面更新的镜像添加一个 hello 标签
root@pinsily:~# docker tag be2e8bc7629e pinsily/ubuntu:hello
![](http://owgxfd8jv.bkt.clouddn.com/1508578299875.jpg)