Docker 初体验 -- 基于 Docker 进行 Node.js web 应用打包和发布

阅读时长 6 分钟读完

前言

Docker 是一个开源的应用程序容器引擎,可以轻松地将应用程序的开发、部署和运行环境打包在容器中,隔离性好且易于管理。本文将介绍如何基于 Docker 进行 Node.js web 应用的打包和发布,让开发人员更加方便地进行开发和交付。

环境准备

在开始之前,需要先安装 Docker 的运行环境,可以在官网上下载安装包,也可以在终端中使用包管理器进行安装。这里以 Mac 为例,使用 Homebrew 进行安装:

安装完成后,可以通过运行以下命令来检验 Docker 是否安装成功:

运行结果如下:

-- -------------------- ---- -------
------- ------ ------ - ---------
 --------           -------
 --- --------       ----
 -- --------        --------
 --- -------        -------
 ------             --- ---  - -------- ----
 --------           ------------
 --------           -------
 -------------      ----

------- ------ ------ - ---------
 -------
  --------          -------
  --- --------      ---- -------- ------- -----
  -- --------       --------
  --- -------       -------
  ------            --- ---  - -------- ----
  --------          -----------
  -------------     -----
 -----------
  --------          -----
  ----------        ----------------------------------------
 -----
  --------          -----
  ----------        -----------------
 ------------
  --------          ------
  ----------        -------

编写 Node.js web 应用

在进行 Docker 打包之前,首先需要编写一个 Node.js web 应用,这里给出一个简单的示例。

  1. 创建一个新目录并进入该目录:

  2. 初始化一个新的 npm 项目,通过该命令可以创建一个新的 package.json 文件:

  3. 安装 Express 和 body-parser 模块:

  4. 创建一个新的 app.js 文件,该文件是控制整个应用的核心文件:

    -- -------------------- ---- -------
    ----- ------- - -------------------
    ----- ---------- - -----------------------
    
    ----- --- - ----------
    
    ---------------------------
    
    ------------ ----- ---- -- -
      --------------- ---------
    ---
    
    ----- ------ - ---------------- -- -- -
      ------------------- ------- -- ---- ---------------------------
    ---
  5. 运行该应用:

    打开浏览器,访问 http://localhost:3000/,可以看到输出了 "Hello World!" 字符串。

使用 Docker 进行打包和发布

在上一步中,我们已经编写了一个 Node.js web 应用,现在我们将使用 Docker 对该应用进行打包,并发布到 Docker Hub 以供其他人使用。

创建 Dockerfile 文件

  1. 在项目根目录下创建一个新文件,名为 Dockerfile,该文件是 Docker 打包的配置文件。

  2. 添加以下内容:

    -- -------------------- ---- -------
    - ---- ------- -- --
    ---- -------
    
    - ------
    ------- ----
    
    - ------
    ---- ------------- --
    --- --- ------- ------------
    
    - ------------
    ---- - -
    
    - ----------
    --- - ------ ------- -

    该文件首先使用 node:12 镜像作为基础镜像,创建工作目录 /app,安装应用依赖,拷贝应用代码,最后在容器启动时运行应用。

打包 Docker 镜像

  1. 在命令行中进入项目目录。

  2. 使用命令执行 Docker 镜像打包:

    username 为 Docker Hub 用户名,myapp 为镜像名。

推送 Docker 镜像到 Docker Hub

  1. 在命令行中登录 Docker Hub:

    输入用户名和密码进行验证。

  2. 将刚才打包的 Docker 镜像推送到 Docker Hub 上:

    注意将 usernamemyapp 替换为自己的 Docker Hub 用户名和镜像名。

运行 Docker 镜像

  1. 在命令行中运行 Docker 镜像:

    -p 参数用于将容器内部的 3000 端口映射到本地的 3000 端口,-d 参数用于在后台运行容器。

    如果一切顺利,可以通过访问 http://localhost:3000/ 来测试是否成功启动了 Node.js web 应用。

总结

通过本篇文章的介绍,我们了解了 Docker 的基本概念和使用方法,掌握了基于 Docker 进行 Node.js web 应用打包和发布的流程。Docker 的使用可以极大地简化开发和交付流程,提高开发人员的效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c9efcd5ad90b6d0418b8a8

纠错
反馈