九:docker镜像管理
1.镜像的搜索/获取/查看
镜像搜索:
# 查看docker中的所有指令
$ docker --help
# 命令
$ docker search 镜像名
$ docker search ubuntu
# 字段关键字
NAME: 镜像的名字
DESCRIPTION: 镜像的描述
STARS: 镜像的下载量
OFFICIAL: 是不是官方的出品的镜像
AUTOMATED: 会不会启动一些脚本之类的程序
1.JPG
获取镜像:
# 下载远程仓库(如Docker Hub)中的镜像
$ docker pull 镜像名(search时得到的name字段)
# 下载完成之后, 就存储到了本地的镜像仓库 -> 本地目录
/var/lib/docker
普通用户没有权限查看,需要切换到root用户
切换用户: su - root 然后输入密码
su - root :环境变量也一并切换
su root:环境变量没有进行切换
# 重置root用户密码
sudo passwd root
有sudo权限的普通用户,可以改root用户的密码,普通用户要想有sudo权限需要进行配置
/var/lib/docker下的image目录还有很多子目录,官方下载的镜像,是由很多文件组成,都存放在image目录下,只需要知道镜像存放在这里,有一天要删除镜像,在这个目录下删除.就没有镜像了,而想要查看镜像,需要使用docker命令查看.
1.JPG
查看镜像
# 命令
# 查看所有的镜像
$ docker images
$ docker image ls
# 查看某个镜像
$ docker images 镜像名
$ docker image ls 镜像名字
# 字段关键字
REPOSITORY: 镜像的名字
TAG: 镜像的版本
IMAGE ID: 镜像ID(==身份证号, 是唯一的)
CREATED: 创建时间
SIZE: 镜像的大小
# 细节
通常在描述一个镜像的时候:
镜像名REPOSITORY:镜像的版本TAG(ubuntu:latest)
如果tag的值为latest, 那么latest可以省略不写
nginx等于nginx:latest
ubuntu等于ubuntu:latest
1.JPG
2.镜像别名/删除
镜像别名:
$ docker tag 现在的名字:tag 别名:tag
docker tag nginx:latest xxx:v1.0
docker tag nginx xxx:v1.0
# 不同的名字对应的镜像ID相同
# 镜像并没有复制, 只是多了一个名字
1.JPG
删除镜像:根据镜像名字,或者镜像ID删除
docker rmi [OPTIONS] IMAGE [IMAGE...]
- IMAGE: 镜像名/镜像ID
docker rmi nginx:latest
docker rmi nginx
docker rmi xxx:v1.0
docker rmi 94e814e2efa8
# 如果镜像有别名, 只能够安照 镜像名:tag 进行删除, 不能根据ID进行删除
# 如果镜像有多个名字, 删除任意一个名字, 名字会删除, 镜像还在
# 当镜像只剩下一个名字的时候, 对其进行删除, 镜像就被删除了
1.JPG
1.JPG
3.镜像的导入导出
镜像导出:
# 将本地仓库中的镜像导出的磁盘目录
# docker save [OPTIONS] IMAGE [IMAGE...]
# OPTIONS:
# -o, --output string Write to a file, instead of STDOUT
# docker save -o 导出之后镜像名字(自己起名) 镜像名
# IMAGE: 要导出的镜像
docker save -o ./mynginx.img nginx:latest
1.JPG
镜像导入:
# 将外部镜像, 导入到本地的镜像仓库中
# docker load [OPTIONS]
# OPTIONS:
# -i, --input string
# docker load -i 镜像文件的名字
docker load -i myubuntu.img
# docker load < 镜像文件的名字
docker load < mynginx.img //把文件内容给docker load
1.JPG
1.JPG
不重要的命令:
- 镜像的历史和详细信息
# 制作镜像的时候的操作步骤
docker history ubuntu:latest
#查看镜像的镜像的属性信息, 以json格式输出的
# https://yq.aliyun.com/articles/230067
# docker inspect 镜像名/镜像ID
docker inspect ubuntu:latest
网友评论