Sample application

预计阅读时间:5分钟

在本教程的其余部分,我们将使用在 Node.js 中运行的简单待办事项列表管理器. 如果您不熟悉 Node.js,请不要担心. 不需要真正的 JavaScript 经验.

此时,您的开发团队非常小,您只是在构建一个应用程序来证明您的 MVP(最小可行产品). 您想展示它是如何工作的以及它能够做什么,而无需考虑它将如何为一个大型团队、多个开发人员等工作.

Todo List Manager Screenshot

Get the app

在我们可以运行应用程序之前,我们需要将应用程序源代码放到我们的机器上. 对于实际项目,您通常会克隆存储库. 但是,对于本教程,我们创建了一个包含应用程序的 ZIP 文件.

  1. 下载应用程序内容. 您可以拉取整个项目,也可以将其下载为 zip,然后将 app 文件夹解压缩以开始使用.

  2. 提取后,使用您喜欢的代码编辑器打开项目. 如果您需要编辑器,可以使用Visual Studio Code . 您应该看到package.json和两个子目录( srcspec ).

    Screenshot of Visual Studio Code opened with the app loaded

Build the app’s container image

为了构建应用程序,我们需要使用Dockerfile . Dockerfile 只是一个基于文本的指令脚本,用于创建容器映像. 如果您之前创建过 Dockerfile,您可能会在下面的 Dockerfile 中看到一些缺陷. 但是,别担心. 我们会检查他们.

  1. 在与文件package.json相同的文件夹中创建一个名为Dockerfile的文件,其内容如下.

    # syntax=docker/dockerfile:1
    FROM node:12-alpine
    RUN apk add --no-cache python2 g++ make
    WORKDIR /app
    COPY . .
    RUN yarn install --production
    CMD ["node", "src/index.js"]
    EXPOSE 3000
    

    请检查文件Dockerfile是否没有像.txt这样的文件扩展名. 一些编辑器可能会自动附加此文件扩展名,这将导致下一步出错.

  2. 如果您还没有这样做,请打开一个终端并使用Dockerfile转到app目录. 现在使用docker build命令构建容器镜像.

    $ docker build -t getting-started .
    

    此命令使用 Dockerfile 构建新的容器映像. 您可能已经注意到下载了很多"层". 这是因为我们指示构建器我们要从node:12-alpine图像开始. 但是,由于我们的机器上没有该图像,因此需要下载该图像.

    下载镜像后,我们复制到我们的应用程序中并使用yarn来安装我们应用程序的依赖项. CMD指令指定从该映像启动容器时要运行的默认命令.

    最后, -t标志标记我们的图像. 将其简单地视为最终图像的人类可读名称. 由于我们将镜像命名为getting-started ,因此我们可以在运行容器时引用该镜像.

    . 在 docker docker build命令的末尾告诉 Docker 应该在当前目录中查找Dockerfile .

Start an app container

现在我们有了一个图像,让我们运行应用程序. 为此,我们将使用docker run命令(还记得之前的那个吗?).

  1. 使用docker run命令启动您的容器,并指定我们刚刚创建的映像的名称:

    $ docker run -dp 3000:3000 getting-started
    

    还记得-d-p标志吗? 我们以"分离"模式(在后台)运行新容器,并在主机的 3000 端口和容器的 3000 端口之间创建映射.没有端口映射,我们将无法访问应用程序.

  2. 几秒钟后,打开 Web 浏览器访问http://localhost:3000 . 你应该看到我们的应用程序.

    Empty Todo List

  3. 继续添加一两个项目,看看它是否按预期工作. 您可以将项目标记为完成并删除项目. 您的前端已成功将项目存储在后端. 相当快速和容易,对吧?

此时,您应该有一个正在运行的待办事项列表管理器,其中包含一些项目,全部由您构建. 现在,让我们进行一些更改并了解如何管理我们的容器.

如果您快速查看 Docker 仪表板,您应该会看到两个容器正在运行(本教程和您新启动的应用程序容器).

Docker Dashboard with tutorial and app containers running

Recap

在这个简短的部分中,我们学习了有关构建容器映像的基础知识,并为此创建了一个 Dockerfile. 构建映像后,我们启动容器并查看正在运行的应用程序.

接下来,我们将对我们的应用程序进行修改,并学习如何使用新图像更新正在运行的应用程序. 在此过程中,我们将学习一些其他有用的命令.

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

by  icopy.site