docker 学习笔记

247 阅读3分钟

1、docker 下载

mac 下载链接 docs.docker.com/desktop/mac…

你可以在终端通过命令检查安装后的docker 版本

docker --version

image.png

在mac os中开启镜像加速器

image.png

image.png

检查加速器是否生效

执行docker info

如果结果中有下图内容,说名配置成功

image.png

2、获取镜像

获取镜像: 从 Docker 镜像仓库获取镜像的命令是 docker pull。其命令格式为:

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

运行

有了镜像后,我们就能够以这个镜像为基础启动并运行一个容器。以上面的 ubuntu:18.04 为例,如果我们打算启动里面的 bash 并且进行交互式操作的话,可以执行下面的命令

docker run -it ubuntu:18.04 bash

image.png

3、列出镜像

docker image ls

image.png

列表包含了 仓库名标签镜像 ID创建时间 以及 所占用的空间

镜像 ID 则是镜像的唯一标识,一个镜像可以对应多个 标签

不加任何参数的情况下,docker image ls 会列出所有顶层镜像,但是有时候我们只希望列出部分镜像。docker image ls 有好几个参数可以帮助做到这个事情

a、根据仓库名列出镜像

b、 docker image ls 还支持强大的过滤器参数 --filter,或者简写 -f

docker image ls -q  只返回容器镜像id 

image.png

下面的命令会直接列出镜像结果,并且只包含镜像ID和仓库名

image.png

image.png

4、删除本地镜像

如果要删除本地的镜像,可以使用 docker image rm 命令,其格式为:

docker image rm [选项] <镜像1> [<镜像2> ...]

我们可以用镜像的完整 ID,也称为 长 ID,来删除镜像。使用脚本的时候可能会用长 ID,但是人工输入就太累了,所以更多的时候是用 短 ID 来删除镜像。docker image ls 默认列出的就已经是短 ID 了,一般取前3个字符以上,只要足够区分于别的镜像就可以了。

我们也可以用镜像名,也就是 <仓库名>:<标签>,来删除镜像

5、容器

新建并启动

所需要的命令主要为 docker run

例如,下面的命令输出一个 “Hello World”,之后终止容器

image.png

当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从 registry 下载
  • 利用镜像创建并启动一个容器
  • 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
  • 从地址池配置一个 ip 地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器被终止

删除容器

可以使用 docker container rm 来删除一个处于终止状态的容器

清理所有处于终止状态的容器

docker container ls -a 命令可以查看所有已经创建的包括终止状态的容器,如果数量太多要一个个删除可能会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器。

docker container prune

进入容器

只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。

-i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符 docker exec -it 容器id bash

docker attach 这个命令 在容器里面exit,会导致容器停止 所以建议使用docker exec