本文将介绍如何使用 Docker 在 CentOS 7 上快速搭建 Node.js 开发环境。Docker 是一个开放源代码软件项目,它可以帮助开发者将应用程序及其依赖一起打包到一个可移植的容器中,从而实现应用程序的轻松部署和管理。Node.js 是一个基于 Chrome V8 引擎构建的 JavaScript 运行环境,它可以在服务器端运行 JavaScript 代码。
安装 Docker
在 CentOS 7 上安装 Docker 非常简单。首先,确保已经安装了 curl 工具。然后,运行以下命令来安装 Docker:
sudo curl -sSL https://get.docker.com/ | sh
安装完成后,启动 Docker 并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
构建镜像
接下来,我们需要构建一个基于 CentOS 7 的 Node.js 镜像。在本教程中,我们将使用 Node.js 的官方镜像,该镜像基于 Debian 10,并已在 Docker Hub 上注册。
创建 Dockerfile
打开一个文本编辑器,创建一个名为 Dockerfile 的文件。将以下行保存到文件中:
FROM node:14.15.5
该命令指定我们要使用 Node.js 14.15.5 版本的官方镜像作为基础。我们可以通过更改这个命令来使用其他版本的 Node.js。
构建镜像
使用以下命令在 CentOS 7 中构建镜像:
sudo docker build -t node-centos7 .
这个命令将会在当前目录下创建一个名为 node-centos7 的镜像。请注意,命令结束后会输出类似于以下内容的信息:
Successfully built e05dca8e93db Successfully tagged node-centos7:latest
这个命令的构建时间可能会因网络速度和计算机性能而有所不同。
启动容器
我们现在已经准备好使用我们的镜像来启动一个容器了。使用以下命令启动容器:
sudo docker run -it --rm -v $(pwd):/app -w /app node-centos7 bash
这个命令将会启动一个新容器,并在其中运行 bash。通过这个命令,我们为容器提供了以下几个参数:
-it
:让容器在交互模式下运行,并附加到容器的 TTY 上。--rm
:当容器退出时,自动删除容器。这可以保证容器不会占用任何资源。-v $(pwd):/app
:将宿主机当前目录(在本例中,是在哪里启动 docker 的目录)映射到容器的 /app 目录。-w /app
:将容器的工作目录设置为 /app。
通过使用以上参数,我们已经成功实现了容器与宿主机之间的通信。
运行 Node.js
我们现在已经进入了一个装有 Node.js 环境的容器。接下来,我们可以在这个容器中运行 node 命令来执行 JavaScript 代码。例如,我们可以运行以下命令来执行一个名为 app.js 的文件:
node app.js
使用示例
为了说明如何在 Docker 容器中搭建 Node.js 开发环境,我们来编写一个简单的 Node.js 应用程序。
首先,我们需要创建一个名为 app.js 的文件并将以下内容保存到文件中:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- -------- - ---------- ----- ---- - ----- ----- ------ - ----------------------- ---- -- - -------------- - ---- ----------------------------- -------------- -------------- ---------- --- ------------------- --------- -- -- - ------------------- ------- -- ------------------------------ ---展开代码
这个应用程序将启动一个 Web 服务器,监听端口号为 3000,并在访问该端口时向用户发送一条欢迎信息。
接下来,我们需要运行以下命令来启动容器并运行我们的应用程序:
sudo docker run -it --rm -p 3000:3000 -v $(pwd):/app -w /app node-centos7 node app.js
这个命令与之前的命令相似,除了它将容器的 3000 端口映射到宿主机的 3000 端口。这个映射指令允许我们通过在浏览器中输入 http://localhost:3000/
来访问 Web 应用程序。
结论
在本教程中,我们使用 Docker 在 CentOS 7 上搭建了一个 Node.js 开发环境,并演示了如何在容器中运行 Node.js 应用程序。通过使用 Docker,我们可以轻松地创建和管理容器,使应用程序的开发、测试和部署变得更加便捷。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f4fa50c5c563ced568e2f4