您的位置:首页 > 运维架构 > Docker

Docker - 镜像(Image)

2017-01-26 14:36 363 查看
Docker运行容器之前需要本地存在相应的镜像。镜像是容器的基础

获取镜像

docker pull NAME[:TAG]

如果不指定TAG,默认是latest

例如:docker pull ubuntu 和 docker pull ubuntu:latest是一样的

也可以指定仓库下载

docker pull dl.dockerpool.com:5000/ubuntu

查看本地镜像列表

docker images

REPOSITORY: 来自那个仓库

TAG: 标签

IMAGE ID:唯一标识

CREATED:创建时间

VIRTUAL SIZE:镜像大小

给镜像打标签

docker tag IMAGE newTag

如:

docker tag ubuntu:latest ubuntu:16.04

ubuntu:latest 和ubuntu:16.04是对应一个镜像,ImageId都是一样的

查看镜像的详细信息

docker inspect IMAGE

搜寻镜像

docker search [-s num] keyWord

例如:搜索和mysql相关的镜像,docker search mysql

如果只想搜索10颗星以上的镜像可用-s, docker search -s 10 mysql

删除镜像

docker rmi IMAGE

IMAGE可以是标签或者ID

如果一个镜像有多个标签,用标签删除只会删除这个标签,该镜像不会删除,当该镜像只有一个标签的时候,删除该标签,这个镜像也就被删除了。

用ID删除的话,会删除这个镜像的所有标签和该镜像。

docker rmi -f

如果该镜像还有容器存在,直接rmi会提示该镜像有容器还在使用该镜像不能删除,可用 -f 参数强制删除,但是不推荐这么做,因为往往会遗留很多问题。

创建镜像

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

基于已有的镜像容器创建

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

就是基于已有的镜像启动了一个容器,对容器做了一些改动,比如装了jdk等等,想把这些改动保存下来,就是基于这个改动过的容器创建一个新的镜像。

基于本地模板导入

可以从网上下载操作系统模板文件,然后导入就可以了,下载地址https://openvz.org/Download/template/precreated

cat 模板文件 | docker import - REPOSITORY:TAG

镜像的导入和导出

镜像已经创建好了,那怎么导出呢?导出的镜像怎么导入?

导出

docker save

例如:docker save -o ubuntu_14.04.tar ubuntu:14.04

导入

docker load

例如:docker load –input ubuntu_14.04.tar 或者 docker load < ubuntu_14.04.tar

上传到仓库

docker push
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker