什么是 Docker?
Docker 是一个容器化平台,使开发人员可以轻松创建、部署和运行应用程序。它利用容器技术将应用程序及其所有依赖项打包成可移植的容器,可以在任何地方运行,包括开发人员的工作站、测试环境、生产环境等等。
Docker 的优势
相比于传统的应用程序部署方式,Docker 有以下几个优势:
快速部署:Docker 容器在几秒钟之内启动,相比于传统应用服务器需要花费几分钟时间来启动,速度更快。
环境隔离:每个 Docker 容器都是独立的,一个容器中的应用程序不能影响其他容器中的应用程序。这样可以消除应用程序之间的冲突。
灵活性:Docker 可以在任何容器中运行任何应用程序,不受任何限制。
可移植性:Docker 容器可以在任何环境中运行,无论是在开发人员的个人电脑、云平台还是其他任何地方。
接下来我们将使用 Docker Compose 部署一个简单的 Node.js 应用程序,并介绍 Docker Compose 的基本使用方法。
安装 Docker 和 Docker Compose
首先,您需要在您的计算机上安装 Docker 和 Docker Compose。这两个工具的安装方法可以在官方文档中找到。
安装完成后,您可以使用下面的命令来验证 Docker 和 Docker Compose 是否已经正确安装。
$ docker --version $ docker-compose --version
编写 Docker 配置文件
在您的项目根目录中创建一个名为 docker-compose.yml
的文件,该文件包含应用程序的 Docker 配置信息。
-- -------------------- ---- ------- -------- --- --------- ---- ------ ------- -------- - ---------- ------------ ---- -------- --- ----- ------ - ----------- ------------ ----- ----
让我们看看这个文件中的每个元素。
version: "3"
:指定 Docker Compose 的版本。services:
:定义服务,我们只有一个服务,即应用程序后端。app:
:服务名称,可以根据您的实际情况进行更改。它定义了需要在 Docker 中运行的应用程序。image: node:14
:我们将使用 Node.js 的官方 Docker 镜像作为我们的基础镜像。volumes:
:将项目文件夹映射到 Docker 容器中。这样,Docker 容器就可以读取和写入项目文件夹中的文件。working_dir: /app
:设置 Docker 容器的工作目录为/app
。command: npm start
:在启动 Docker 容器时运行的命令。在这种情况下,我们运行npm start
命令来启动 Node.js 应用程序。ports:
:将 Docker 容器中除了外部世界访问的端口(在这个例子中是8080
,在外部世界访问的端口)映射到主机的端口8080
。environment:
:设置环境变量。在这种情况下,我们设置了PORT
环境变量为8080
。
创建应用程序
接下来,我们将创建一个简单的 Node.js 应用程序。在项目根目录中创建一个名为 app
的文件夹,然后在该文件夹中创建一个名为 index.js
的文件,该文件包含以下代码。
-- -------------------- ---- ------- ----- ---- - --------------- ----- ---- - ---------------- -- ---- ----- ------ - ----------------------- ---- -- - ------------------ - --------------- ------------ -- -------------- ---------- -- ------------------- -- -- - ------------------- ------- -- -------------------------- --
这是一个非常简单的服务器,它在监听端口 process.env.PORT || 3000
上,如果没有通过 PORT
环境变量传递端口,则默认为 3000
。当我们向 http://localhost:3000
发送请求时,它会响应 Hello World!\n
。
构建镜像
现在我们已经准备好将应用程序部署到 Docker 容器中了。使用以下命令构建 Docker 镜像:
$ docker-compose build
这将基于 Dockerfile 构建镜像,该镜像包含应用程序的依赖项。
启动容器
一旦镜像构建成功,就可以通过以下命令启动容器:
$ docker-compose up
这将启动 Docker 容器并运行我们的应用程序。当您在浏览器中访问 http://localhost:8080
时,您应该看到 Hello World!
消息。
停止容器
要停止 Docker 容器,请使用以下命令:
$ docker-compose down
总结
这是一个简单的 Docker 应用程序部署教程,向您展示了如何使用 Docker Compose 部署 Node.js 应用程序。我们介绍了 Docker 的优势、安装方法和基本配置,以及如何构建镜像、启动容器和停止容器。希望这篇文章能够帮助您了解 Docker 的应用程序部署,并在未来的项目中使用它来简化开发和部署过程。
参考代码:https://github.com/Super3G/Docker-tutorial
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6450e39d980a9b385b9c44b4