Docker镜像管理

2020-08-17  本文已影响0人  jan29

以下内容转载于Breeze
原博客地址:https://www.cnblogs.com/breezey/

五、镜像管理

1、镜像命名规范

无论我们对镜像做何种操作,首先它得有个名字。我们在前面使用docker run来运行容器的时候,就需要传递一个镜像名称,容器基于该镜像来运行。

一个完整的镜像名称由两部分组成:

<image name> = <repository>:[tag]

其中repository包含如下内容:

[Docker Registry地址/][项目目录/]<名称>

所以一个完整的镜像命名如下:

[Docker Registry地址/][项目目录/]<名称>:[标签]

示例:

hub.breezey.top/op-base/openresty:1.11.2.4
hub.breezey.top/op-base/openresty-php:1.11.2.4-7.0.27
mysql:5.6
ubuntu

当没指明镜像tag时,默认为latest,但latest没有任何特殊含义,在docker hub上很多repository将latest作为最新稳定版本的别名,但这只是一种约定,不是强制规定,一个repository可以有多个tag,而多个tag也可能对应同一个镜像

2、镜像基本操作

1、获取镜像

docker pull centos:6.6    #直接从docker hub获取镜像
docker pull dl.dockerpool.com:5000/centos:6.6    #从dockerpool获取镜像

2、查看镜像信息

docker images
docker inspect centos:latest    #获取镜像的详细信息

3、为镜像创建tag

docker tag centos:latest dl.dockerpool.com:5000/centos:6.6 

4、搜索镜像

docker search mysql    #搜索mysql镜像

5、 删除镜像(注:如果镜像有容器生成,需要先删除容器)

#如果一个镜像有多个tag,只会删除指定的tag,镜像本身不会删除,如果docker rmi后指定镜像ID,则所有tag都会被删除
docker rmi centos:6.6   

# 删除无标签镜像(即为none)
docker rmi $(docker images -q --filter "dangling=true")

6、导出和载入镜像

# 将本地镜像导出
docker save -o centos_6.6.tar centos:6.6

# 将本地文件导入镜像
docker load --input centos_6.6.tar

7、通过docker commit提交一个新镜像

docker commit -m "Add a new file" -a "Breeze" a925cb40b3f0 test  #使用a925cb40b3f0容器生成一个名为test的镜像
-a:指定作者
-m:相关说明信息
-p:提交时暂停容器运行
上一篇 下一篇

猜你喜欢

热点阅读