目录
介绍
运行docker容器前需要本地存在对应的镜像。如果不存在本地镜像,docker就会尝试从默认镜像仓库下载。镜像仓库是由docker官方维护的一个公共仓库,额可以满足用户的绝大部分需求。用户也可以通过配置来使用自定义的镜像仓库
搜索镜像
命令格式:docker search 关键字
# 搜索nginx镜像
[root@docker-01 ~]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL
nginx Official build of Nginx. 19821 [OK]
## 部分内容省略
# 回显含义如下
NAME:镜像名称
DESCRIPTION:描述
STARS:星级
OFFICIAL:是否官方创建 [OK]字样表示官方创建
获取镜像
命令格式:docker pull 仓库名称:[标签]
# 如果下载镜像时,不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为latest标签
# 下载最新的nginx镜像
[root@docker-01 ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
b0a0cf830b12: Pull complete
4d84de5fb9b2: Pull complete
2818b7b6a9db: Pull complete
1e5314d67f16: Pull complete
8066e07ce4f2: Pull complete
05f7109fea9e: Pull complete
e58cbd904f7f: Pull complete
Digest: sha256:32e76d4f34f80e479964a0fbd4c5b4f6967b5322c8d004e9cf0cb81c93510766
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
# 镜像文件是由若干层(Layer)组成,称之为AUFS(联合文件系统)
查看镜像信息
命令格式:docker images 仓库名称:[标签]
[root@docker-01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 1d668e06f1e5 7 days ago 188MB
# 回显含义如下
REPOSITORY:镜像属于的仓库
TAG:镜像的标签信息,标记同一个仓库中的不同镜像
IMAGE ID:镜像的唯一ID号,唯一标识一个镜像
CREATED:镜像创建时间
SIZE:镜像大小
用户还可以根据镜像的唯一标识ID号,获取镜像的详细信息
命令格式:docker images 镜像ID号
[root@docker-01 ~]# docker inspect 1d668e06f1e5
[
{
"Id": "sha256:1d668e06f1e534ab338404ba891c37d618dd53c9073dcdd4ebde82aa7643f83f",
"RepoTags": [
"nginx:latest"
],
给镜像打标签
命令格式:docker tag 源镜像名称:[标签] 新镜像名称:[标签]
[root@docker-01 ~]# docker tag nginx:latest nginx_test:1.0
[root@docker-01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 1d668e06f1e5 7 days ago 188MB
nginx_test 1.0 1d668e06f1e5 7 days ago 188MB
删除镜像
docker删除镜像的操作有两种方法:使用镜像的标签删除镜像、使用镜像的ID删除镜像
命令格式:docker rmi 仓库名称:标签 或者 docker rmi 镜像id号
# 例如删除掉刚刚打的新标签nginx_test:1.0
[root@docker-01 ~]# docker rmi nginx_test:1.0
Untagged: nginx_test:1.0
# 当使用docker rmi 命令后面制定了某个镜像ID时,必须确保该镜像当前没有被任一容器使用才能进行删除,系统会先删除掉所有指定该镜像的所有标签,然后删除该镜像文件本身。如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再次删除镜像
存出镜像和载入镜像
当需要把一台机器上的镜像迁移到另一台机器上的时候,需要将镜像保存为本地文件,这一过程叫做存储镜像,可以使用docker save命令进行存储操作,之后就可以拷贝该文件到其他机器
存出镜像
命令格式:docker save -o 要存储的名称 存储的镜像名称
# 例如:将本地nginx镜像存出
[root@docker-01 ~]# docker save -o nginx_latest.tar nginx:latest
# 存出镜像后就可以使用scp命令将存出的文件复制到其他机器上了
载入镜像
命令格式:docker load < 存出的镜像文件名称 或者 docker load -i 存出的镜像文件名称
# 两种方式任选一个
[root@docker-02 ~]# docker load < nginx_latest.tar
[root@docker-02 ~]# docker load -i nginx_latest.tar