Node
Node容器镜像

镜像介绍

Node.js是用于可扩展服务器端和网络应用程序的软件平台。Node.js应用程序是用JavaScript编写的,可以在Mac OS X,Windows和Linux上的Node.js运行时中运行,而无需进行任何更改。

Node.js应用程序旨在使用非阻塞I / O和异步事件来最大化吞吐量和效率。尽管Node.js使用多个线程处理文件和网络事件,但Node.js应用程序运行单线程。由于Node.js具有异步特性,因此通常用于实时应用程序。

Node.js在内部使用Google V8 JavaScript引擎执行代码;大部分基本模块都是用JavaScript编写的。Node.js包含一个内置的异步I / O库,用于文件,套接字和HTTP通信。HTTP和套接字支持允许Node.js充当Web服务器,而无需使用其他软件(例如Apache)。

版本及兼容性要求

类别

说明

Docker版本

18.09.0

Node容器镜像版本

arm64v8/node:12:14

宿主机OS版本

EulerOS 2.3以上

一、 容器部署与验证(Docker运行)

1.    环境准备

本次验证基于华为欧拉OS系统环境进行验证,详细配置如下:

类别

子项

版本

云主机配置

规格

kc1.xlarge.4

镜像

EulerOS_IPv6-6.5.1.SPC100-ARM_64

软件版本及镜像版本

Docker

18.09.0

Node镜像

arm64v8/node:12:14

宿主机OS

Euler OS

2.8

Kernel

4.19.36

2.    部署镜像包

1)     下载镜像

登录Linux主机(确保主机能连接互联网),docker pull下载

docker pull arm64v8/node:12:14

2)     运行

docker run -itd --name node01 arm64v8/node:12:14 /bin/bash

3.   验证

1)     查看容器ID, 如图1-1所示。

docker ps |grep node01

1-1 查看容器ID


2)     进入容器

docker exec -it c2e313c73886 /bin/bash

3)     查看版本信息,如图1-2所示。

node -v

1-2 查看版本信息


二、 容器化部署与验证(华为云Stack CCE

1.    环境准备

本次验证基于华为欧拉OS系统环境进行验证,详细配置如下:

类别

子项

版本

云主机配置

规格

kc1.xlarge.4

镜像

EulerOS_IPv6-6.5.1.SPC100-ARM_64

软件版本及镜像版本

Docker

18.09.0

Node镜像

arm64v8/node:12:14

华为云Stack

8.0

kubernetes

1.15

宿主机OS

Euler OS

2.8

Kernel

4.19.36

2.    部署node容器

1)  登录Linux系统主机中(确保主机能连接互联网),通过docker pull下载镜像。

docker pull arm64v8/node:12:14

2)  通过docker save 保存镜像

docker save –o nodejs_12.14.tar arm64v8/node:12:14

3)  登录华为云Stack CCE平台,进入云市场>软件中心>镜像仓库,上传Node镜像包,步骤如图2-1至图2-2所示:

2-1 进到镜像仓库


2-2 上传镜像


4)  进入应用上线>K8S应用部署,创建容器应用(无状态应用),如下图2-3至图2-9所示:

2-3 进到应用上线界面


2-4 选择应用类型(无状态应用)


2-5 填写应用参数


2-6 为容器选择镜像


2-7 设置启动参数


2-8 发布为服务(选择否)


2-9 应用创建成功


3.   验证

进入应用上线>K8S应用部署,进入创建完成的Node容器应用中,选择实例列表>终端,查询Node版本信息,如图2-102-11所示:

2-10  Node应用


2-11 进到实例终端,查看版本信息


三、 基于Node构建业务镜像并创建容器(华为云Stack CCE

1.    环境准备

类别

子项

版本

云主机配置

规格

kc1.xlarge.4

镜像

EulerOS_IPv6-6.5.1.SPC100-ARM_64

软件版本及镜像版本

Docker

18.09.0

Node镜像

arm64v8/node:12:14

华为云Stack

8.0

kubernetes

1.15

宿主机OS

Euler OS

2.8

Kernel

4.19.36

2.    构建业务镜像

本文以Node为基础镜像构建Tomcat服务镜像为例,以下是构建步骤:

1)     创建Dockerfile文件,如下:

FROM arm64v8/node:12.14

#copy server.js into image

WORKDIR /home

ADD ./server.js /home/

#set port

EXPOSE 8888

#define entry point which will be run first when the container starts up

CMD ["node","server.js"]

1)     上传server.js & Dockerfile文件至虚拟机节点上,如图3-1所示:

3-1 上传文件至虚机


2)     修改上传文件权限,build镜像,并save镜像文件:

命令:

chmod -R 755 *

docker build -t node_demo:v1.0 .

docker save -o node_demo_v1.0.tar node_demo:v1.0

如图3-2所示:

3-2 build & save镜像


3)     下载新制作的镜像包,并上传至华为云Stack CCE平台,如图3-3所示:

3-3 上传镜像


3.    验证

1)     进入华为云Stack CCE平台,发布容器化无状态应用,并为该应用添加8888端口服务,如图3-4至图3-11所示:

3-4 进到应用上线界面


3-5 选择应用类型(无状态应用)


3-6 填写应用参数


3-7 为应用选择镜像


3-8 配置应用服务信息


3-9 应用创建成功


2)     进入华为云Stack CCE配置台,进入node_demo应用选择访问方式,如图3-10所示:

3-10 查看服务信息


3)     复制内外部访问地址,Copy至浏览器中,node_demo服务可正常访问,如图3-11所示:

3-11 查看访问结果


四、 常见问题汇总

软件下载

Arm64v8/Node镜像拉取:docker pull arm64v8/node:12:14