主题 Docker镜像与容器
1.获取镜像
$ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
root@lchj-OMEN-by-HP-Laptop-15-dc1xxx:~# docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
6e0aa5e7af40: Pull complete
d47239a868b3: Pull complete
49cbb10cca85: Pull complete
Digest: sha256:122f506735a26c0a1aff2363335412cfc4f84de38326356d31ee00c2cbe52171
Status: Downloaded newer image for ubuntu:18.04
docker.io/library/ubuntu:18.04
- Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号]。默认地址是 Docker Hub(docker.io)。
- 仓库名:如之前所说,这里的仓库名是两段式名称,即 <用户名>/<软件名>。对于 Docker Hub,如果不给出用户名,则默认为 library,也就是官方镜像。
2.列出镜像
要想列出已经下载下来的镜像,可以使用 docker image ls 命令
root@lchj-OMEN-by-HP-Laptop-15-dc1xxx:~# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 3339fde08fc3 2 weeks ago 63.3MB
hello-world latest d1165f221234 5 weeks ago 13.3kB
root@lchj-OMEN-by-HP-Laptop-15-dc1xxx:~#
列表包含了 仓库名、标签、镜像 ID、创建时间 以及 所占用的空间。
其中仓库名、标签在之前的基础概念章节已经介绍过了。镜像 ID 则是镜像的唯一标识,一个镜像可以对应多个 标签。因此,在上面的例子中,我们可以看到 ubuntu:18.04 和 ubuntu:bionic 拥有相同的 ID,因为它们对应的是同一个镜像。
3.删除本地镜像
如果要删除本地的镜像,可以使用 docker image rm 命令,其格式为:
$ docker image rm [选项] <镜像1> [<镜像2> ...]
用 ID、镜像名、摘要删除镜像
其中,<镜像> 可以是 镜像短 ID、镜像长 ID、镜像名 或者 镜像摘要。
更精确的是使用 镜像摘要 删除镜像
注意:镜像的唯一标识是其 ID 和摘要,而一个镜像可以有多个标签
4.Dockerfile制作镜像
Dockerfile 是一个文本文件,其内包含了一条条的 指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
4.1 FROM 指定基础镜像
就是以一个镜像为基础,在其上进行定制。就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜像是必须指定的。而 FROM 就是指定 基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令。
4.2 RUN 执行命令
RUN 指令是用来执行命令行命令的。由于命令行的强大能力,RUN 指令在定制镜像时是最常用的指令之一。其格式有两种:
- shell 格式:RUN <命令>,就像直接在命令行中输入的命令一样。刚才写的 Dockerfile 中的 RUN 指令就是这种格式。
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
- exec 格式:RUN [“可执行文件”, “参数1”, “参数2”],这更像是函数调用中的格式。
5.构建镜像
root@lchj-OMEN-by-HP-Laptop-15-dc1xxx:/home/lchj/mynginx# docker build -t nginx:v3 .
Sending build context to Docker daemon 2.048kB
Step 1/2 : FROM nginx
latest: Pulling from library/nginx
f7ec5a41d630: Downloading 4.46MB/27.14MB
aa1efa14b3bf: Downloading 4.725MB/26.58MB
b78b95af9b17: Download complete
c7d6bca2b8dc: Download complete
cf16cd8e71e0: Download complete
0241c68333ef: Download complete
docker build 命令用于镜像构建。其格式为:
docker build [选项] <上下文路径/URL/->
还有很多内容没有学完,请待下回分解~~~