提交 ef661f16 编写于 作者: F feilong

add docker image

上级 27e594bc
# docker image 操作(5): 查看所有的镜像操作命令
一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。
Docker 镜像一般存放在镜像仓库服务(Image Registry)里,默认的镜像仓库服务是Docker Hub。
用户可以制作、构建镜像、将镜像上传到镜像仓库服务,从而可以在其他地方从镜像仓库服务里拉取镜像。
除了前面几题介绍的子命令,输入下面的命令回车
```bash
docker image
```
可以看到所有的docker image 操作命令
![](./docker-image.png)
下面说法错误的是?
## 答案
没找到批量删除无用 docker 镜像的命令
## 选项
### A
可以看到,可以给通过命令给镜像添加标签
* docker tag
### B
可以看到,有一组镜像保存到tar,从tar到入,从tar加载的命令
* docker image save: 保存镜像到tar文件
* docker image load: 从tar加载镜像
* docker image import: 从tar加载内容生成docker镜像文件
### C
可以看到
* docker image pull 是拉取镜像的命令
* docker image push 是推送镜像的命令
# docker image 操作(3): 查看某个镜像的配置信息
一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。
Docker 镜像一般存放在镜像仓库服务(Image Registry)里,默认的镜像仓库服务是Docker Hub。
用户可以制作、构建镜像、将镜像上传到镜像仓库服务,从而可以在其他地方从镜像仓库服务里拉取镜像。
一个镜像的配置信息可以通过下面的命令查看
```bash
docker image inspect hello-world
```
操作截图如下,可以看到镜像启动后会立刻执行的命令CMD:
![](./docker-image-inspect.png)
请自己实际操作后回答问题:以下对`docker image inspect`输出结果描述错误的是?
## 答案
docker image inspect 命令不能查看镜像的操作系统信息
## 选项
### A
通过 docker image inspect 命令可以查看镜像的环境(Env)信息
### B
通过 docker image inspect 命令可以查看镜像启动后立刻执行的命令(CMD)
### C
docker image inspect 查看的是镜像的静态配置信息
# docker image 操作(2): 列举所有镜像
一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。
Docker 镜像一般存放在镜像仓库服务(Image Registry)里,默认的镜像仓库服务是Docker Hub。
用户可以制作、构建镜像、将镜像上传到镜像仓库服务,从而可以在其他地方从镜像仓库服务里拉取镜像。
一个镜像的名字也叫镜像的仓库名,英文是`REPOSITORY`,本地列举所有镜像的命令
```bash
docker image ls
```
操作截图如下,可以看到前一题拉取到的`hello-world`镜像:
![](./docker-image-ls.png)
以下对`docker image ls`输出结果描述错误的是?
## 答案
```bash
`REPOSITORY` 表示镜像所在的仓库中心
```
## 选项
### A
```bash
`TAG` 表示镜像的标签,默认是 latest
```
### B
```bash
`SIZE` 列表示镜像的大小
```
### C
`IMAGE ID` 列 表示镜像的ID
# docker image 操作(1): 从Docker Hub 拉取已有镜像
一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。
Docker 镜像一般存放在镜像仓库服务(Image Registry)里,默认的镜像仓库服务是Docker Hub。
用户可以制作、构建镜像、将镜像上传到镜像仓库服务,从而可以在其他地方从镜像仓库服务里拉取镜像。
例如,从Docker Hub拉取 helloworld 镜像的命令:
```bash
docker image pull library/hello-world
```
操作截图如下:
![](./docker-image-pull.png)
以下从Docker Hub 拉取 ubuntu 镜像操作正确的是?
## 答案
```bash
docker image pull library/ubuntu
```
## 选项
### A
```bash
docker pull library/ubuntu
```
### B
```bash
docker image push library/ubuntu
```
### C
```bash
docker img pull library/ubuntu
```
# docker image 操作(4): 移除镜像
一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。
Docker 镜像一般存放在镜像仓库服务(Image Registry)里,默认的镜像仓库服务是Docker Hub。
用户可以制作、构建镜像、将镜像上传到镜像仓库服务,从而可以在其他地方从镜像仓库服务里拉取镜像。
通过命令`docker image rm`命令可以删除不用的镜像,例如先通过命令查看有哪些镜像。
```bash
docker image ls
```
截图如下,可以看到两个名字为`<none>`的镜像:
![](./docker-image-rm-ls.png)
如果镜像没有被启动过,直接之下下面的命令能删除成功:
```bash
docker image rm 09d01ed9156b
```
如图所示:
![](./docker-image-rm-success.png)
但是如果镜像被启动过,有可能出现错误信息:
![](./docker-image-rm-failed.png)
红框的提示表示该镜像被启动过并且目前处于停止状态,我们可以通过`docker ps`命令查看被启动过的镜像状态
![](./docker-image-rm-ps.png)
可以看到,其中
* 横向的红框是ID为`09d01ed9156b`的镜像启动后的`container`(参考下一节)的状态
* 纵向的红框是所有启动的`container`的当前状态,可以看到图里的都处于`Exited`的退出状态。
因此我们可以批量使用Linux命令批量删除
```bash
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
```
如图所示
![](./docker-image-rm-clear.png)
以下说法错误的是?
## 答案
无论镜像是否启动都可以直接使用命令`docker image rm`直接删除成功
## 选项
### A
使用命令`docker image rm` 移除镜像时,可能因为镜像已经被启动过而失败
### B
可以使用`docker ps`命令查看已启动镜像状态,获得某个镜像的`container`对应的ID
### C
可以使用`docker rm {container id}`移除已启动镜像的`container`
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册