0%

Docker-镜像image

Docker镜像是启动容器的基石。

什么是Docker镜像


Docker镜像是由文件系统叠加而成。最底端是一个文件引导系统,即bootfs。Docker用户不会与引导文件系统有直接的交互。Docker镜像的第二层是root文件系统rootfs,通常是一种或多种操作系统,例如ubuntu等。在Docker中,文件系统永远都是只读的,在每次修改时,都是进行拷贝叠加从而形成最终的文件系统。Docker称这样的文件为镜像。一个镜像可以迭代在另一个镜像的顶部。位于下方的镜像称之为父镜像,最底层的镜像称之为基础镜像。最后,当从一个镜像启动容器时,Docker会在最顶层加载一个读写文件系统作为容器。

Docker镜像

Docker的这种机制我们称之为写时复制

查看镜像列表


1
docker images 

该命令可以用于查找当前系统中所有存在的镜像列表。

Ps:本地镜像默认保存在Docker宿主机的/var/lib/docker目录下。所有的镜像都是保存在仓库中,而仓库位于Registry中。默认的Registry是Docker公司运营的Docker Hub。每个镜像仓库都可以存放很多的镜像。

拉取镜像


1
docker pull centos

上述命令会拉取镜像到本地。

为了区分同一个仓库中不同的镜像,Docker提供了一种tag的功能。我们可以给每个版本的镜像添加一个唯一的tag来标识该镜像。此时,镜像的名称如下:仓库名称:tag。我们在运行镜像或拉取镜像时,可以直接指定对应的标签。

1
docker pull registry-vpc.cn-beijing.aliyuncs.com/vcgcs/jdk8:util

查找镜像


从Docker Hub查找有哪些公共的可用镜像

1
docker search keywords

构建Docker镜像


docker build 命令用于使用 Dockerfile 创建镜像。

1
docker build -t runoob/ubuntu:v1 . 

使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。

1
docker build github.com/creack/docker-firefox

也可以通过 -f Dockerfile 文件的位置:

1
docker build -f /path/to/a/Dockerfile .

登录镜像仓库

使用阿里云容器镜像服务

1
docker login --username="ops@vcg.com" --password="******" registry-vpc.cn-beijing.aliyuncs.com

推送镜像到仓库

1
docker push registry-vpc.cn-beijing.aliyuncs.com/vcgcs/jdk8:util

修改镜像Tag

1
2
docker images  # 获取ImageId
docker tag [ImageId] registry.cn-beijing.aliyuncs.com/vcg/500px-vcg-com:[镜像版本号]