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 时不可用的额外隔离。