docker 容器中安装 NodeJS的两种方式

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 本文介绍两种在 docker 容器中部署 NodeJS的方式

docker中安装 NodeJS的两种方式


jcLee95 的 个人 博客

已入驻阿里云博客

邮箱 :291148484@163.com
本文地址
- https://developer.aliyun.com/article/
- https://blog.csdn.net/qq_28550263/article/details/124256323

1. 方式一:直接从Docker Hub 拉去NodeJS镜像

2. 方式二:自己构建特定版本


1. 方式一:直接从Docker Hub 拉去NodeJS镜像

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个让 JavaScript 运行在服务端的开发平台。

在Docker Hub中搜索关键字: https://registry.hub.docker.com/search?q=node,可以看到确实已经有做好的docker镜像:

6666666666666.png

可以通过 Sort by 查看其他版本的 Node,默认是最新版本 node:latest。其中latest为镜像的标签(tag),拉取改镜像的命令如下:

docker pull node:latest

你也可以使用其他的标签,不同标签主要对应于不同的 Node 版本,在https://registry.hub.docker.com/_/nodeSupported tags and respective Dockerfile links部分可以看到支持的标签。

你也可以在NodeJS docker 的 GitHub 上了解更多相关内容:https://github.com/nodejs/docker-node

2. 方式二:自己构建特定版本

2.1 拉取一个系统镜像

免费的 CentOS 就要落下帷幕,虽然在使用方式上大同小异,但还是不建议继续使用 centOS。除非… 我们这里选择使用 Ubuntu 系统作为示范。

通过执行以下命令拉取一个最新的ubuntu系统docker镜像:

sudo docker pull ubuntu:latest

2.2 运行镜像为docker容器

这里你可能需要看一下你的镜像ID,使用以下方式查看当前的镜像

sudo docker images

你可以使用两种方式运行镜像为容器,一个是使用 docker desktop ,如果你使用的是 Windows 或者 mac 系统。打开 Docker Desktop :

6666666666666.png

进入 Image 页面查看镜像:

6666666666666.png

选择需要使用的一个镜像,将鼠标移动到其上方。这里我们选择使用预先拉取的 ubuntu 镜像:

6666666666666.png

点击 RUN,这相当于使用命令docker run

6635b7ec11b644cfa94d10d7a382884a.png

点击下拉按钮,可以填写相关参数,如容器名等:

6666666666666.png

6666666666666.png

成功后,进入containers/apps(容器)界面可以看到新创建的容器:

6666666666666.png

显示绿色表示该docker容器正处于运行状态。将鼠标移动到其上方,并点击红圈位置图标,可以在命令行窗口打开进入该容器。相当于使用了exec命令:

b007624315a241388b53250e1029562a.png

6666666666666.png

另外一种方法是直接使用命令的方法。使用这中方法创建一个容器,在博文https://blog.csdn.net/qq_28550263/article/details/124252887中有更多的说明,读者可以参考之。

2.3 安装特定版本的 Node.js

进入上一节你所创建的容器后,就可以开始安装你想安装的 Node.js 了,不同版本的 Node.js 的安装方式基本相同,详细命令如以下各个小节:

2.3.1 Node.js LTS (长期支持版) (写作时为版本v16.x)

curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
apt-get install -y nodejs

2.3.2 Node.js 当前最新版本 (写作时为v17.x)

curl -fsSL https://deb.nodesource.com/setup_current.x | bash -
apt-get install -y nodejs

2.3.3 Node.js v17.x 版本

curl -fsSL https://deb.nodesource.com/setup_17.x | bash -
apt-get install -y nodejs

2.3.4 Node.js v16.x 版本

curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
apt-get install -y nodejs

2.3.5 Node.js v14.x 版本

curl -fsSL https://deb.nodesource.com/setup_14.x | bash -
apt-get install -y nodejs

2.3.6 Node.js v12.x 版本

curl -fsSL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs

2.3.7 说明

在 docker 中安装 Node.js 与在原始的 Ubuntu 镜像中略有不同,以上安装都没有使用 sudo 命令,因为 docker 容器中都是管理员权限,不需要 sudo 命令,这倒是与以管理员身份运行的原始 Debian 一样。因此如果你不在 docker 的 ubuntu 系统容器而是真实的Ubuntu系统中时,以安装 Node.js LTS 为例,命令将是如下这样的:

sudo curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

2.4 测试你的安装

要测试安装是否正常(并且安装脚本是否正常工作!),请使用:

curl -fsSL https://deb.nodesource.com/test | bash -
目录
相关文章
|
9天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
2天前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
21 5
|
5天前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
3天前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
3天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
10 1
|
6天前
|
运维 持续交付 虚拟化
深入解析Docker容器化技术的核心原理
深入解析Docker容器化技术的核心原理
26 1
|
8天前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
8天前
|
JavaScript 开发者 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
8天前
|
持续交付 开发者 Docker
Docker容器化技术实战指南
Docker容器化技术实战指南
25 1
|
8天前
|
安全 Docker 微服务
深入理解Docker容器技术:从基础到实践
深入理解Docker容器技术:从基础到实践
下一篇
无影云桌面