diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker img \346\223\215\344\275\234/config.json" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/config.json" similarity index 100% rename from "data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker img \346\223\215\344\275\234/config.json" rename to "data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/config.json" diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-inspect.png" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-inspect.png" new file mode 100644 index 0000000000000000000000000000000000000000..2b1528dbbb9234ac6ed5e72e431dc13d781bdd0b Binary files /dev/null and "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-inspect.png" differ diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-ls.png" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-ls.png" new file mode 100644 index 0000000000000000000000000000000000000000..8e331d80e4b4ea73c0b4b719b6cf2980e5af3b98 Binary files /dev/null and "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-ls.png" differ diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-pull.png" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-pull.png" new file mode 100644 index 0000000000000000000000000000000000000000..6cc7e1641bc5f6c6bcc6b87c17ba6c86306de813 Binary files /dev/null and "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-pull.png" differ diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-clear.png" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-clear.png" new file mode 100644 index 0000000000000000000000000000000000000000..149b0221b44b6ab4d059f91f7f2c1eb0f35c45d4 Binary files /dev/null and "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-clear.png" differ diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-failed.png" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-failed.png" new file mode 100644 index 0000000000000000000000000000000000000000..c0429c00c2d00224972970d99f5b4cdc8f67bc10 Binary files /dev/null and "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-failed.png" differ diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-ls.png" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-ls.png" new file mode 100644 index 0000000000000000000000000000000000000000..9f0dfb0f297d87a97459c1f29038f2db3e92dc9a Binary files /dev/null and "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-ls.png" differ diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-ps.png" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-ps.png" new file mode 100644 index 0000000000000000000000000000000000000000..57a07ca8f55e72dbecd0e9397589e07652675df7 Binary files /dev/null and "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-ps.png" differ diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-success.png" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-success.png" new file mode 100644 index 0000000000000000000000000000000000000000..e96d1b5a5f6a01b0db1a1482bb611fcb9cede3dd Binary files /dev/null and "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image-rm-success.png" differ diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image.md" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image.md" new file mode 100644 index 0000000000000000000000000000000000000000..5c17b295bcc399ca9002f023e9a9532d3e8e6f81 --- /dev/null +++ "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image.md" @@ -0,0 +1,44 @@ +# 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 是推送镜像的命令 diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image.png" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image.png" new file mode 100644 index 0000000000000000000000000000000000000000..8786acbf1e3692ed7f627fd9f35c997de1f60d64 Binary files /dev/null and "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/docker-image.png" differ diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_inspect.md" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_inspect.md" new file mode 100644 index 0000000000000000000000000000000000000000..4086e1a487fb0b609f63f442361597e583714dd6 --- /dev/null +++ "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_inspect.md" @@ -0,0 +1,35 @@ +# 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 查看的是镜像的静态配置信息 diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_ls.md" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_ls.md" new file mode 100644 index 0000000000000000000000000000000000000000..d3a35e6aace30904520b8f3f1981dfbb864d98f0 --- /dev/null +++ "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_ls.md" @@ -0,0 +1,41 @@ +# 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 diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_pull.md" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_pull.md" new file mode 100644 index 0000000000000000000000000000000000000000..8dab309bb234f09077614fe4e97e6ff7671770d6 --- /dev/null +++ "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_pull.md" @@ -0,0 +1,43 @@ +# 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 +``` diff --git "a/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_rm.md" "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_rm.md" new file mode 100644 index 0000000000000000000000000000000000000000..581e56050d98d69b20883235622f4f9839fa8e01 --- /dev/null +++ "b/data/1.\344\272\221\345\216\237\347\224\237\345\210\235\351\230\266/1.\345\256\271\345\231\250(docker)/2.docker image \346\223\215\344\275\234/image_rm.md" @@ -0,0 +1,68 @@ +# docker image 操作(4): 移除镜像 + +一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。 +Docker 镜像一般存放在镜像仓库服务(Image Registry)里,默认的镜像仓库服务是Docker Hub。 +用户可以制作、构建镜像、将镜像上传到镜像仓库服务,从而可以在其他地方从镜像仓库服务里拉取镜像。 + +通过命令`docker image rm`命令可以删除不用的镜像,例如先通过命令查看有哪些镜像。 + +```bash +docker image ls +``` + +截图如下,可以看到两个名字为``的镜像: + +![](./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`