这几篇系列文章都是来源于官网的文档:https://docs.docker.com/get-started/,自己看的时候顺便翻译了一下 :)
预计阅读时间: 4分钟
欢迎! 我们很高兴你想学Docker。
这个教程包含了如何使用 Docker 的一步一步的说明。在这个教程中,你将学习如何:
- 生成并运行一个镜像作为容器。
- 使用 Docker Hub 共享镜像
- 使用带有数据库的多个容器部署 Docker 应用程序
- 使用 Docker Compose 运行应用程序
此外,你还将了解建立docker镜像的最佳实践,包括如何扫描图像以发现安全漏洞。
如果您正在寻找关于如何使用您最喜欢的语言包装应用程序的信息,请参阅语言特定的入门指南。
我们也推荐来自 DockerCon 2020的视频演练。YouTube
下载并安装 Docker
本教程假设您的计算机上安装了当前版本的 Docker。如果你没有安装 Docker,选择你喜欢的操作系统下载 Docker:
有关 Docker 桌面安装说明,请参阅在 Mac 上安装 Docker 桌面和在 Windows 上安装 Docker 桌面。
开始教程
如果您已经运行了入门教程的命令,那么恭喜您!如果没有,打开命令提示符或 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
Docker 面板
在深入讨论之前,我们希望突出展示 Docker 面板,它可以让您快速查看在计算机上运行的容器。可以在 Mac 和 Windows 上使用。它使您能够快速访问容器日志,使您能够在容器中获得一个 shell,并且使您能够轻松地管理容器的生命周期(停止、删除等)。
要访问仪表板,请按照 Mac 或 Windows 的说明操作。如果您现在打开仪表板,您将看到本教程正在运行!容器名称(下面是 jolly _ bouman)是一个随机创建的名称。所以,你很可能会有一个不同的名字。
什么是容器?
现在您已经运行了一个容器,那么什么是容器呢?简单地说,容器就是机器上与主机上的所有其他进程隔离的另一个进程。这种隔离利用了内核名称空间和 cgroups,这些特性在 Linux 中已经存在很长时间了。Docker致力于使这些功能易于接近和易于使用。
从头开始创建容器
如果你想了解容器是如何从零开始构建的,Aqua Security 的 Liz Rice 有一个精彩的演讲,她在 Go 中从零开始构建了一个集装箱。她制作了一个简单的容器,但是这个演讲并没有涉及到网络,对文件系统使用映像等等。但是,它深入到了事情是如何工作的奇妙思考。视频YouTube链接
什么是容器镜像?
当运行一个容器时,它使用一个独立的文件系统。这个自定义文件系统是由容器镜像提供的。由于镜像包含容器的文件系统,因此它必须包含运行应用程序所需的所有内容——所有依赖项、配置、脚本、二进制文件等。镜像还包含容器的其他配置,如环境变量、要运行的默认命令和其他元数据。
稍后我们将更深入地讨论图像,包括分层、最佳实践等主题。
如果您熟悉 chroot,可以将容器看作 chroot 的扩展版本。文件系统只是来自镜像。但是,容器增加了额外的隔离,这在简单使用 chroot 时是不可以达到的。
CLI 引用
关于本文中使用的所有 CLI 命令的进一步文档,请参考以下主题: