本文首发于微信公众号:Hunter 后端
原文链接:Docker 笔记一之镜像
从这一篇开始将介绍一些 Docker 的应用笔记,都是本人在应用过程中用到的一些笔记的积攒。
首先咱们来简略了解一下 Docker 的作用,咱们能够将其了解成一个个的小型的 Linux 零碎。
以咱们的 Django 零碎为例,须要运行 Django、MySQL、Redis、Nginx 等,咱们能够把它们都放到各自的 Docker 容器中,而后通过 yaml 文件别离启动起来。
这样操作有一个益处,就是便于移植,也就是说在我的电脑上能够运行的零碎,打包好后,放到他人的电脑上,只有也装有 Docker,也能够同样的运行,这样就不必额定的去装置和配置简单的依赖关系。
这一篇笔记将介绍 Docker 的镜像
以下是本篇笔记目录:
- 镜像的拉取
- 镜像的根本命令
1、镜像的拉取
在后面咱们介绍了,Docker 是一个小型的 Linux 零碎,它蕴含了一个 Linux 零碎运行所需的最根底的软件和相干依赖。
而咱们的镜像从哪里来呢,从 Docker 仓库。
拉取命令
咱们如何拉取呢,假如咱们想要拉取一个 Ubuntu 镜像,命令则会是:
docker pull ubuntu
很简略对不对,而后 Docker 就会将 Docker 仓库里最近的一个 Ubuntu 版本拉取到本地。
如果咱们想指定版本呢,咱们想拉取 Ubuntu 18.04,或者 16.04 怎么办,加一个 : 和一个版本号即可:
docker pull ubuntu:18.04
docker pull ubuntu:16.04
如果咱们想拉取一个 Python 的镜像呢,同样的操作:
docker pull python:3.6
零碎就会拉取一个 Linux 零碎,这个零碎里除了最简洁版的 Linux,还会自带一个 Python 3.6 版本。
对于咱们拉取下来的镜像如何查看呢,以下是命令:
docker images
而后就能够看到输入有五栏数据,REPOSITORY、TAG、IMAGE ID、CREATED、SIZE
- REPOSITORY 是镜像的名称,比方后面拉取的 ubuntu,python
- TAG 是镜像的标签,比方没有指定版本的 latest,或者指定版本的 18.04,3.6
- IMAGE ID 是每一个镜像的惟一 id,在前面应用镜像的时候,能够通过 image id 来定位
- CREATED 示意创立工夫
- SIZE 示意镜像大小
对于镜像的大小,如果咱们删除了某个镜像,会发现零碎并没有缩小这么多的存储空间,这是因为每一个镜像都是由很多 层
形成的,这个层是能够在多个镜像之间复用的。
当咱们删除某个镜像,仅仅是删除了该镜像没有被复用的层,被复用的层依然会存在于零碎中被其余镜像所应用
2、镜像的根本命令
接下来咱们介绍一下对于镜像的根本命令
拉取指定镜像
通过冒号 : 来指定:
docker pull ubuntu:18.04
查看镜像
docker images
docker image ls
下面这两条命令是一样的成果
查看镜像相干信息
docker inspect ubuntu:latest
查看镜像的摘要信息
docker image ls --digests ubuntu
通过 IMAGE ID 删除镜像
docker rmi ed21b7a8aee9
docker image rm ed21b7a8aee9
其中 ed21b7a8aee9 为指定须要删除的镜像 id
下面两条命令是一样的成果
在前面如果屡次应用镜像,而后零碎就会存在镜像的名称和 Tag 都会为 none 的废除镜像,如果咱们想对立删除这些镜像,能够通过如下命令:
docker rmi `docker images -a|grep none | awk '{print $3}'`
在援用符号里的命令解释一下
docker images -a 获取所有镜像
grep none 过滤获取关键字有 none 的数据
awk ‘{print $3}’ 获取输入的第三列数据,在这里就是 image 的镜像 id
docker rmi 就是删除镜像命令,将前面的操作获取的镜像 ID 删除
如果想获取更多后端相干文章,可扫码关注浏览: