你不能把这个世界,让给你所鄙视的人。— 安·兰德
查看镜像
docker images
- EPOSITORY:仓库名称
- TAG: 用于区分同一仓库中的不同镜像,默认为latest。
- IMAGE ID:镜像的唯一标识符。
- CREATED:镜像的创建时间
- SIZE:镜像的大小
镜像查询
通过docker search
可以去Dokcer Hub查询符合要求的镜像。
docker search nginx
- NAME:镜像的名称。
- DESCRIPTION:镜像的描述。
- STARS:用户对镜像的评分,越高越好
- OFFICIAL:是否为官方镜像。
- AUTOMATED:是否使用了自动构建。
拉取镜像
使用docker search
搜索到符合的镜像后,通过docker pull
拉取镜像。
删除镜像
通过docker rmi
命令删除镜像。
删除镜像的时候要确保该没有容器依赖该镜像,否者会报错,找出所以依赖该镜像的容器删除即可。
commit创建镜像
通过docker commit
可以自定义创建镜像。
其中--author
表示的是作者,-m
表示镜像的描述,18f2c709d4da
表示创建依赖的容器ID,jerry/nginx
则表示仓库名,jerry
是名称空间,nginx
是镜像名,v1
表示仓库的TAG。
commit 方式创建存在一些弊端:不够透明化、无法重复、体积较大。此外有一种主流的创建方式是 Dockerfile 。
Dockerfile创建镜像
Dokcerfile创建镜像是根据Dockerfile 文件来制作镜像。
首先创建一个dockerfile文件夹,在文件下创建Dockerfile文件,注意名字不可更改大小写。
然后通过vi编辑写入以下内容:
#FROM 表示以已有的nginx镜像为基础进行构建
FROM nginx
#MAINTAINER 表示镜像创建者的信息 非必须填写
#RUN指令用来修改镜像的内容 比如安装 配置等 分为shell和exec两种格式 shell采用linux指令 exec采用json形式 注意写的时候尽量将多个合并为一个 通过&富符号进行合并 这样可以避免创建多层
RUN echo 'hello Dockerfile' > /usr/share/nginx/html/index.html
写好Dockerfile文件后可以通过Docker build
进行构建镜像。
docker build -t jerry/nginx:v1 .
-t 参数用来指定镜像的命名空间、仓库名和以及TAG 等信息,.
是指镜像构建上下文。
此时执行docker images
查看镜像,可以看到创建好的nginx镜像。