1 docker镜像管理
1.1 镜像简介 Docker镜像是什么?
镜像是一个Docker的可执行文件,其中包括运行应用程序所需的所有代码内容、依赖库、环境变量和配置文件等。 通过镜像可以创建一个或多个容器。
1.2 搜索、查看、获取
搜索镜像
#作用
搜索Docker Hub(镜像仓库)上的镜像
#命令格式:
docker search [镜像名称]
#命令演示:
$ docker search ubuntu
#NAME:名称
#DESCRIPTION:基本功能描述
#STARS:下载次数
#OFFICIAL:官方
#AUTOMATED:自动的运行
获取镜像
#作用: 下载远程仓库(如Docker Hub)中的镜像 #命令格式: docker pull [镜像名称] #命令演示: $ docker pull ubuntu $ docker pull nginx #注释: #获取的镜像在哪里? #/var/lib/docker 目录下 #由于权限的原因我们需要切换root用户 #那我们首先要重设置root用户的密码: :~$ sudo passwd root #这样就可以设置root用户的密码了。 #之后就可以自由的切换到root用户了 :~$ su #输入root用户的密码即可。 #当然,如果想从root用户切换回一般用户,则可使用 su -val(一般用户名) #而当你再次切回到root用户,则只需要键入exit,再次输入exit则回到最初的用户下 #操作下面的文件可以查看相关的镜像信息 :~$ vim /var/lib/docker/image/overlay2/repositories.json
查看镜像
#作用: 列出本地镜像 #命令格式: docker images [镜像名称] docker image ls [镜像名称] #命令演示: $ docker images #镜像的ID唯一标识了镜像,如果ID相同,说明是同一镜像。TAG信息来区分不同发行版本,如果不指定具体标记, 默认使用latest标记信息 #docker images -a 列出所有的本地的images(包括已删除的镜像记录) #REPOSITORY:镜像的名称 #TAG :镜像的版本标签 #IMAGE ID:镜像id #CREATED:镜像是什么时候创建的 #SIZE:大小
1.3 重命名、删除
镜像重命名
#作用: 对本地镜像的NAME、TAG进行重命名,并新产生一个命名后镜像 #命令格式: docker tag [老镜像名称]:[老镜像版本][新镜像名称]:[新镜像版本] #命令演示: $ docker tag nginx:latest panda-nginx:v1.0
删除镜像
#作用:
将本地的一个或多个镜像删除
#命令格式:
docker rmi [命令参数][镜像ID]
docker rmi [命令参数][镜像名称]:[镜像版本]
docker image rm [命令参数][镜像]
#命令演示:
$docker rmi 3fa822599e10
$docker rmi mysql:latest
#注意:
如果一个image_id存在多个名称,那么应该使用 名称:版本 的格式删除镜像
#命令参数(OPTIONS):
-f, --force 强制删除
1.4 导出、导入
导出镜像 将已经下载好的镜像,导出到本地,以备后用。
#作用: 将本地的一个或多个镜像打包保存成本地tar文件 #命令格式: docker save [命令参数][导出镜像名称][本地镜像镜像] #命令参数(OPTIONS): -o, --output string 指定写入的文件名和路径 #导出镜像 :~$ docker save -o nginx.tar nginx
导入镜像
#作用: 将save命令打包的镜像导入本地镜像库中 #导入镜像命令格式: $ docker load [命令参数][被导入镜像压缩文件的名称] $ docker load < [被导入镜像压缩文件的名称] $ docker load --input [被导入镜像压缩文件的名称] #命令参数(OPTIONS): -i, --input string 指定要打入的文件,如没有指定,默认是STDIN #为了更好的演示效果,我们先将nginx的镜像删除掉 docker rmi nginx:v1.0 docker rmi nginx #导入镜像文件: $ docker load < nginx.tar #注意: 如果发现导入的时候没有权限需要使用chmod命令修改镜像文件的权限
1.5 历史、创建
查看镜像历史
#作用: 查看本地一个镜像的历史(历史分层)信息 #查看镜像命令格式: docker history [镜像名称]:[镜像版本] docker history [镜像ID] #我们获取到一个镜像,想知道他默认启动了哪些命令或者都封装了哪些系统层,那么我们可以使用docker history这条命令来获取我们想要的信息 $ docker history sswang-nginx:v1.0 #IMAGE:编号 #CREATED:创建的 #CREATED BY :基于那些命令创建的 #SIZE:大小 #COMMENT:评论
镜像详细信息
#作用:
查看本地一个或多个镜像的详细信息
#命令格式:
$ docker image inspect [命令参数] [镜像名称]:[镜像版本]
$ docker inspect [命令参数] [镜像ID]
#查看镜像详细信息:
$ docker inspect nginx
根据模板创建镜像
#登录系统模板镜像网站: #https://download.openvz.org/template/precreated/ #找到一个镜像模板进行下载,比如说ubuntu-16.04-x86_64.tar.gz,地址为: #https://download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz #命令格式: cat 模板文件名.tar | docker import - [自定义镜像名] #演示效果: $ cat ubuntu-16.04-x86_64.tar.gz | docker import - ubuntu-mini
1.6总结