Docker 3 基本学习

参考链接:https://docs.docker.com/get-started/

方向和设置

欢迎! 我们很高兴您想学习 Docker。

此页面包含有关如何开始使用 Docker 的分步说明。 在本教程中,您将学习如何:

构建并运行镜像作为容器
使用 Docker Hub 共享镜像
使用多个容器和一个数据库部署 Docker 应用程序
使用 Docker Compose 运行应用程序

此外,您还将了解构建映像的最佳实践,包括有关如何扫描映像以查找安全漏洞的说明。

如果您正在寻找有关如何使用您喜欢的语言容器化应用程序的信息,请参阅特定于语言的入门指南。

我们还推荐 DockerCon 2020 的视频演练。

开始教程

如果您已经运行命令开始学习本教程,那么恭喜您! 如果没有,请打开命令提示符或 bash 窗口,然后运行以下命令:

docker run -d -p 80:80 docker/getting-started

您会注意到使用了一些标志。 以下是有关它们的更多信息:

-d - 以分离模式运行容器(在后台)
-p 80:80 - 将主机的 80 端口映射到容器中的 80 端口
docker/getting-started - 要使用的图像

提示:

您可以组合单个字符标志来缩短完整命令。 例如,上面的命令可以写成:

docker run -dp 80:80 docker/getting-started

然后就可以访问:http://127.0.0.1/tutorial/

你就可以看到官方给出的教程了

Docker Dashboard 仪表板

在走得太远之前,我们想突出显示 Docker 仪表板,它可以让您快速查看机器上运行的容器。 Docker 仪表板可用于 Mac 和 Windows。 它使您可以快速访问容器日志,让您在容器内获得一个 shell,并让您轻松管理容器生命周期(停止、删除等)。

要访问仪表板,请按照 Docker Desktop 产品手册中的说明进行操作https://docs.docker.com/desktop/dashboard/。 如果您现在打开仪表板,您将看到本教程正在运行! 容器名称(以下为 jolly_bouman)是随机创建的名称。 所以,你很可能会有一个不同的名字。

但是我现在在ubuntu上运行docker,暂时没有docker desktop,这部分教程请参考官网,这里暂时不添加。

什么是容器?

现在你已经运行了一个容器,什么是容器? 简单地说,容器只是你机器上的另一个进程,它与主机上的所有其他进程隔离开来。 这种隔离利用了内核命名空间和 cgroups,这些特性在 Linux 中已经存在了很长时间。 Docker 一直致力于使这些功能易于使用且易于使用。

从头开始创建容器

如果您想了解容器是如何从头开始构建的,Aqua Security 的 Liz Rice 有一个精彩的演讲,其中她用 Go 从头开始创建了一个容器。 虽然她制作了一个简单的容器,但本次演讲并未涉及网络、为文件系统使用图像等。 但是,它可以深入了解事物的运作方式。

什么是容器镜像?

运行容器时,它使用隔离的文件系统。 此自定义文件系统由容器映像提供。 由于镜像包含容器的文件系统,它必须包含运行应用程序所需的一切——所有依赖项、配置、脚本、二进制文件等。镜像还包含容器的其他配置,例如环境变量、要运行的默认命令、 和其他元数据。

稍后我们将深入研究图像,涵盖分层、最佳实践等主题。

信息

如果您熟悉 chroot,可以将容器视为 chroot 的扩展版本。 文件系统只是来自图像。 但是,容器添加了仅使用 chroot 时不可用的额外隔离。

文章目录