Orientation and setup

预计阅读时间:4分钟

更新 Docker Desktop 条款

在大型企业(超过 250 名员工或年收入超过 1000 万美元)中商业使用 Docker Desktop 现在需要付费订阅.

欢迎! 我们很高兴你想学习 Docker.

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

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

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

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

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

Download and install Docker

本教程假设您的机器上安装了当前版本的 Docker. 如果您没有安装 Docker,请在下面选择您喜欢的操作系统来下载 Docker:

配备英特尔芯片的 Mac 配备 Apple 芯片的 Mac Windows Linux

有关 Docker 桌面安装说明,请参阅在 Mac 上安装 Docker 桌面和在 Windows上安装 Docker 桌面.

Start the tutorial

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

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

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

  • -d - 以分离模式运行容器(在后台)
  • -p 80:80 - map port 80 of the host to port 80 in the container
  • docker/getting-started - 要使用的图像

Tip

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

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

The Docker Dashboard

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

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

Tutorial container running in Docker Dashboard

What is a container?

既然你已经运行了一个容器,那么什么容器? 简而言之,容器是您机器上的沙盒进程,与主机上的所有其他进程隔离. 这种隔离利用了内核命名空间和 cgroups ,这些特性在 Linux 中已经存在了很长时间. Docker 致力于使这些功能变得平易近人且易于使用. 总而言之,一个容器:

  • 是图像的可运行实例. 您可以使用 DockerAPI 或 CLI 创建、启动、停止、移动或删除容器.
  • 可以在本地机器、虚拟机上运行或部署到云端.
  • 可移植(可以在任何操作系统上运行)
  • 容器彼此隔离并运行自己的软件、二进制文件和配置.

从头开始创建容器

如果您想了解容器是如何从头开始构建的,来自 Aqua Security 的 Liz Rice 进行了一场精彩的演讲,她在演讲中她在 Go 中从头开始创建了一个容器. 虽然演讲没有涉及网络、使用文件系统的图像以及其他高级主题,但它对事物的工作方式进行了精彩的深入探讨.

What is a container image?

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

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

Info

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

CLI references

有关本文中使用的所有 CLI 命令的更多文档,请参阅以下主题:

开始, setup, orientation, quickstart, intro, concepts, containers, 码头工人桌面

by  icopy.site