-
获取docker镜像
命令格式为docker [image] pull NAME[:TAG]
,其中NAME是镜像仓库名称,用于区分镜像,而TAG用于区分镜像的版本。一般情况下,我们使用"名称+标签"的方式来描述一个镜像,例如:获取一个ubuntu18.04的镜像:
[root@localhost ~]#docker pull ubuntu:18.04
特别需要注意的是,如果不带TAG,那么会下载镜像仓库里面最新的版本。所以,在实际生产环境中,不要使用不带标签的镜像拉区方式
1.1 pull子命令支持的选项主要包括
:-a,–all-tags=true|false:是否获取镜像仓库的所有镜像
: --disable-content-trust:取消镜像的内容校验,默认为取消
: --registry-mirror=proxy_url:使用镜像代理服务来加快镜像的拉取 -
查看镜像信息
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 4eb8f7c43909 3 weeks ago 63.1MB
其中几个字段的含义如下:
REPOSITORY :表示来源于哪一个仓库
TAG :镜像的标签信息
IMAGE ID :镜像的id(唯一识别镜像),如果两个镜像id一样,说明是同一个镜像,不同标签名称
CREATED:镜像最后的更新时间,不是拉取的时间
SIZE:镜像大小
2.1 images子命令主要选项
:-a --all=true|false 列出所有镜像,包括镜像
:–digests=true|false 列出所有镜像的数字摘要,作用是安全校验。
:-f --filter=[] 过滤镜像操作
:–format=‘TEMOLATE’ 控制输出格式
:–no-trunc=true|false 对输出结果中太长的部分进行截断
:-q --quite=true|false 仅输出id信息
2.2使用tag命令添加镜像标签
[root@localhost ~]# docker tag ubuntu:18.04 myubuntu:1.0
2.3 使用inspect命令查看镜像的详细信息
docker inspect [image]
返回的是一个json格式,例如构建镜像时docker的版本
[root@localhost ~]# docker inspect -f "{{.DockerVersion}}" ubuntu:18.04
19.03.12
2.4 使用history命令查看镜像各层历史
[root@localhost ~]# docker history ubuntu:18.04
-
搜索镜像
docker search image
:-f --filter filter 过滤输出了内容
:–format string 格式化内容输出
:–no-trunc 不截断输出结果
例如:搜索官方镜像:
docker search -f is-official=true centos
或者
docker search --filter=is-official=true centos
都是一样的 -
删除和清理镜像
4.1 删除镜像docker rmi image
支持的选项包括:
:-f -force 强制删除镜像,即使有容器依赖它
:-no-prune 不要清理未带标签的父标签 prune是修剪镜像、容器、卷和网络的残留垃圾docker image prunc
清楚自动清理临时的遗留镜像文件层
docker image prune -a
删除所有没有被容器使用的镜像,可以添加filter进行筛选docker image prune -a --filter "until=24h"
只删除 24 小时前创建的镜像 -
创建文件
三种构建方式,1 基于已有的容器创建,2 基于本地模板的导入,3 dockerfile创建
5.1基于已有的容器创建
docker [container] commit [options] ccontainer [repositore[:tag]]
可选项
:-a --author="" 作者信息
:-c --change=[] 提交的时候执行dockerfile指令
:-m --message="" 提交信息
:-p --pause=true 提交时暂停容器运行
启动一个容器:
[root@localhost opt]# docker run -it ubuntu:18.04 /bin/bash
root@4ee9ab5913bb:/# mkdir -p /root/dockercpmmit
root@4ee9ab5913bb:/# exit
使用刚刚这个容器创建镜像:
docker commit -m "add a new file /root/dockercommit" -a "committest" 4ee9ab5913bb commit:1
查看镜像
[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
commit 1 519d2fb5b8f0 24 seconds ago 63.1MB
5.2 基于本地模板导入
可以使用从一个操作系统模板文件带入一个镜像
例如,导入一个apache-tomcat-7.0.108.tar.gz
形成一个docker文件
[root@localhost opt]# cat apache-tomcat-7.0.108.tar.gz | docker import - tomcat:7.0.108
[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 7.0.108 f2416a95cf3f 8 seconds ago 14.6MB
5.3 基于dockerfile创建镜像文件
这个方法是最常用的构建docker镜像的方法,这里篇幅不够展开
6:存出和载入镜像
6.1 存出镜像
docker save -o commit:1.tar commit:1
查看相对目录下面文件
6.2载入镜像
可以使用docker load将tar文件导入本地镜像库中
[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 7.0.108 f2416a95cf3f 25 minutes ago 14.6MB
ubuntu 18.04 4eb8f7c43909 3 weeks ago 63.1MB
centos none 8652b9f0cb4c 6 months ago 204MB
centos 6 d0957ffdf8a2 2 years ago 194MB
[root@localhost opt]# docker load < commit\:1.tar
56eb926dac74: Loading layer [==================================================>] 3
[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 7.0.108 f2416a95cf3f 26 minutes ago 14.6MB
commit 1 519d2fb5b8f0 33 minutes ago 63.1MB
6.3上传镜像 默认上传到https://hub.docker.com/上,所以需要注册账号。
我的账号名称baohuagui
需要将上传的进行镜像tag重命名,符合hub.dcker后才能上传
docker tag committest:1.0 baohuagui/committest
上传:docker push baohuagui/committest:latest
可能有点慢,等一下就可以了
docker镜像的基本认识和使用
最新推荐文章于 2021-12-14 08:34:53 发布