docker入门 -镜像
拉取镜像:docker pull 仓库名:标签(不写的话,默认为latest版本)
docker pull ubuntu:18.04
运行容器:
ubuntu:18.04 \
bash```
-it :这是两个参数,一个是 -i :交互式操作,一个是 -t 终端。
--rm :这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm
ubuntu:18.04 :这是指用 ubuntu:18.04 镜像为基础来启动容器。
bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash
进入容器后,可以在 Shell 下操作,执行任何所需的命令
exit 退出当前容器
**列出已经下载的镜像**:
```docker image ls 或者 docker iamges #只显示顶层镜像```
镜像的ID是镜像的唯一标识
**查看镜像、容器、数据卷所占用的空间**
```docker system df ```
**虚悬镜像**:
镜像列表中,还可以看到一个特殊的镜像,这个镜像既没有仓库名,也没有标签,均为 <none> 。:
<none> <none> 00285df0df87 5 days ago 342 MB
随着官方镜像维护,发布了新版本后,镜像名被转移到了重新拉取的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了<none>。docker pull 和docker build 都可能会造成着这种情况
由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 <none> 的镜像。这类无标签镜像也被称为 虚悬镜像(dangling image)
**显示虚悬镜像**:
```docker image ls -f dangling=true```
**删除虚悬镜像**
```docker image prune # 虚悬镜像一般无实用价值,可以删除```
**查看中间层镜像**:
```docker image ls -a ```
无标签的中间层镜像,是其它镜像所依赖的镜像。这些无标签镜像不应该删除,否则会导致上层镜像因为依赖丢失而出错。
**列出部分镜像**:
```docker image ls 仓库名(:标签)```
```docker image ls -f since=mysql:5.7 #列出在MySQL:5.7之后建立的镜像```
```docker image ls -f before=mysql:5.7 #列出mysql:5.7之前建立的镜像```
**只显示镜像ID**:
```docker image ls -p #可以和-f(过滤参数配合) ```
**重新组织镜像表格形式**:
```docker image ls --format "{{.ID}}: {{.Repository}}" ```
这里用到了[Go的模板语法](https://gohugo.io/templates/introduction/)

**删除本地镜像**:
```docker image rm 镜像短 ID (镜像长 ID ,镜像名 或者 镜像摘要)```
使用 镜像摘要 删除镜像:
```docker image ls --digests
docker image rm REPOSITORY@DIGEST```


镜像的唯一标识是ID和摘要(DIGEST),一个镜像可以有多个标签。我们在删除镜像时,实际上时在要求删除某个标签的镜像
**成批的删除希望删除的镜像**:
用 docker image ls -q 来配合使用 docker image rm:
```docker image rm $(docker image ls -q -f before=mongo:3.2) #删除所有在 mongo:3.2 之前的镜像```
**查看容器操作历史**:
```docker diff 容器名```
文件的修改被记录于容器存储层
**提交容器生成镜像**:
```docker commit 容器名 仓库名:标签```
```docker commit \
--author "lxx" \
--message "修改了默认网页"
webserver \
nginx:v2```
--author 是指定修改的作者,而 --message 则是记录本次修改的内容, 这些信息可以省略留空
**查看镜像内的历史记录**:
``` docker history nginx:v2```
##使用Dockerfile定制镜像
镜像的定制实际上就是定制每一层所添加的配置、文件。
Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
浙公网安备 33010602011771号