Docker 概念

Docker 是一个供开发人员和系统管理员使用容器构建,运行和共享应用程序的平台。使用容器部署应用程序称为容器化,容器化并不新鲜,但它们用于轻松部署应用程序却很新鲜。

容器化越来越受欢迎 因为容器化:

  1. 灵活:即使是最复杂的应用程序也可以容器化
  2. 轻量:容器利用和共享主机内核,使它们在系统资源方面比虚拟机更高效
  3. 可移植:你可以在本地构建,部署到云,并在任何地方运行
  4. 松散耦合:容器是高度自给自足和密封的,允许你替换或升级一个而不破坏其他容器
  5. 可伸缩:你可以增加并自动跨数据中心分发容器副本
  6. 安全:容器对进程应用主动约束和隔离,而不需要用户进行任何配置

    镜像和容器

    从根本上说,容器只是一个正在运行的进程,添加了一些封装特性,以使其与主机和其他容器隔离。容器隔离最重要的方面之一是每个容器都与自己的私有文件系统进行交互;此文件系统由 Docker 镜像提供。镜像包含运行应用程序所需的所有东西——代码或二进制,运行时,依赖性以及所需的任何其他文件系统对象。

    容器和虚拟机

    容器在 Linux 上本地运行,并与其他容器共享主机的内核。它运行一个独立的进程,不占用比其他任何可执行程序更多的内存,使它成为轻量级的。
    相比之下,虚拟机运行一个成熟的“来宾”操作系统,通过虚拟机监控程序对主机资源进行虚拟访问。通常,VM会产生大量开销,超出应用程序逻辑分析所消耗的开销。 Part 1:定位和安装 - 图1 Part 1:定位和安装 - 图2

    设置 Docker 环境

    下载并安装 Docker 桌面

    Docker Desktop 是一个易于安装的应用程序,适用于你的 Mac 或 Windows 环境,使你能够在几分钟内开始编码和封装。Docker Desktop 包含了从您的机器上构建,运行和共享容器化应用程序所需的所有内容。
    请按照适合您的操作系统的说明下载和安装 Docker 桌面。

    Docker 版本测试

    成功安装Docker桌面后,打开终端并运行 docker —version 检查机器上安装的 Docker 版本。

    1. $ docker --version
    2. Docker version 19.03.5, build 633a0ea

    Docker 安装测试

  7. 通过运行 hello-word Docker 镜像来测试你的安装工作

    1. $ docker run hello-world
    2. Unable to find image 'hello-world:latest' locally
    3. latest: Pulling from library/hello-world
    4. ca4f61b1923c: Pull complete
    5. Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
    6. Status: Downloaded newer image for hello-world:latest
    7. Hello from Docker!
    8. This message shows that your installation appears to be working correctly.
    9. ...
  8. 运行 docker image ls 来列出下载到机器上的 hello-world 镜像

  9. 列出 hello-world 容器(由镜像生成)它在显示其消息后退出。如果它还在运行,你不需要 —all 选项
    1. $ docker ps --all
    2. CONTAINER ID IMAGE COMMAND CREATED STATUS
    3. 54f4984ed6a8 hello-world "/hello" 20 seconds ago Exited (0) 19 seconds ago

    结论

    此时,你已经在你的开发机器上安装了 Docker Desktop,并运行了一个快速测试,以确保您已经准备好构建和运行你的第一个容器化应用程序。