Docker镜像(2)
1.使用命令行工具管理Docker镜像
下面将用表格展示 Dokcer 与镜像相关的一些操作命令
命令 | 说明信息 |
---|---|
docker search [image name] | 在拉取镜像之前,可以通过该命令搜索符合的镜像 |
docker images | 列车本机上的所有镜像。该命令行还可以使用通配符,以找到符合条件的一系列镜像 |
docker inspect [image name] [container id] | 通过"docker images" 命令只能查看镜像的基本信息,而通过"docker inspect"命令则可以查看镜像或容器的详细信息 |
docker pull [image name] | 将镜像拉到本地。镜像名必须包含命名空间和仓库名。如果一个仓库中存在多个镜像,则必须指定TAG,即指定版本的信息,否则将使用默认的TAG"latest" |
docker push [image name] | 将本地的镜像上传到镜像仓库中 |
docker rmi [imgae name]/[images id] | 将不需要的镜像删除。与移除容器的命令rm相比,删除镜像的命令多了一个i,即image的意思。在删除镜像时,需要注意两点:1.如果需要删除多个镜像,则需要使用空格将它们隔开;2.可以使用参数-f强制删除镜像 |
1.1演示命令使用方法
在镜像仓库中搜索Flink镜像
[root@localhost ~]# docker search flink
将Flink镜像拉取到本地
[root@localhost ~]# docker pull flink
查看本地的镜像信息,并使用通配符查看所有"f"开头的镜像
[root@localhost ~]# docker images f*
使用命令查看Flink镜像的详细信息
[root@localhost ~]# docker inspect flink 673cfe867ef9
删除Flink镜像
[root@localhost ~]# docker rmi -f flink
2.使用Dockerfile文件构建镜像
2.1什么是Dockerfile
Docker 镜像是一个特殊的分层文件系统,包含应用和必要的依赖环境,但并不包含任何的动态信息。构建一个镜像,实际上就是为镜像中的每一层创建相应的配置。因此,可以把构建的命令语句、参数配置等信息都写入一个脚本中。
Dockerfile是一个文本文件,其包含了一条条的指令,每一条指令都用于构建镜像中的 一层。
Dockerfile 文件可以使用“docker build”命令进行编译。在编译过程中,每一条指令 的内容描述了该层应如何进行构建。当我们需要定制自己额外的需求时,只需要在 Dockerfile文件的基础上添加或者修改指令,重新生成新的镜像即可。
2.2使用Dockerfile文件
面通过一个简单的示例来演示如何使用 Dockerfile文件。在这个示例中,将基于 Nginx的镜像来构建一个新的镜像,并在该镜像中部署一个简单的Web网页。
创建一个Dockerfile文件,并在该文件输入以下命令
[root@localhost docker]# vim Dockerfile
From nginx
Run echo '<h1>This is a DemoHTML </h1>' > /usr/share/nginx/html/index.html
在Dockerfile文件执行命令构建镜像
[root@localhost docker]# docker build .
查看新生成的镜像
使用新生成的镜像创建容器,然后访问
[root@localhost docker]# docker run -d -p 1145:80 6591994da075