Sign inSign up

toomee/alinode

By toomee

•Updated almost 7 years ago

Node.js 性能平台 - Node.js Performance Platform

Image
2

2.9K

toomee/alinode repository overview

⁠docker-alinode

Node.js 性能平台 - Node.js Performance Platform

集成 alinode + yarn + pm2 + agenthub
自动启动 agenthub 服务,让你可以像 pm2 镜像一样方便使用。

GitHub⁠ | Docker Store⁠ | 《Node.js性能平台运行时版本和官方对应列表》⁠ | 《官网 Dockerfile 模板》⁠

⁠标签对应关系

镜像基础镜像AliNodeNodeDockerfile
toomee/alinode:3debian:jessiev3.15.0v8.16.0Dockerfile⁠
toomee/alinode:3-slimdebian:jessie-slimv3.15.0v8.16.0Dockerfile⁠
toomee/alinode:3-alpinealpine:3.8v3.14.1v8.15.1Dockerfile⁠
toomee/alinode:4debian:jessiev4.8.0v10.16.0Dockerfile⁠
toomee/alinode:4-slimdebian:jessie-slimv4.8.0v10.16.0Dockerfile⁠
toomee/alinode:4-alpinealpine:3.8v4.7.0v10.15.3Dockerfile⁠
toomee/alinode:5debian:jessiev5.13.0v12.13.0Dockerfile⁠
toomee/alinode:5-slimdebian:jessie-slimv5.13.0v12.13.0Dockerfile⁠
toomee/alinode:5-alpinealpine:3.9v5.13.0v12.13.0Dockerfile⁠
⁠所有镜像
$ docker images toomee/alinode
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
toomee/alinode      5-alpine            0cebf1ac010e        1 minutes ago       115MB
toomee/alinode      5.13-alpine         0cebf1ac010e        1 minutes ago       115MB
toomee/alinode      5.13.0-alpine       0cebf1ac010e        1 minutes ago       115MB
toomee/alinode      5-slim              4e8ca2cd1b31        2 minutes ago       228MB
toomee/alinode      5.13-slim           4e8ca2cd1b31        2 minutes ago       228MB
toomee/alinode      5.13.0-slim         4e8ca2cd1b31        2 minutes ago       228MB
toomee/alinode      5                   20724a6d2b7e        3 minutes ago       276MB
toomee/alinode      5.13                20724a6d2b7e        3 minutes ago       276MB
toomee/alinode      5.13.0              20724a6d2b7e        3 minutes ago       276MB
toomee/alinode      4-alpine            b60e826e8854        7 minutes ago       106MB
toomee/alinode      4.7-alpine          b60e826e8854        7 minutes ago       106MB
toomee/alinode      4.7.0-alpine        b60e826e8854        7 minutes ago       106MB
toomee/alinode      4-slim              403c69f5e02b        8 minutes ago       225MB
toomee/alinode      4.8-slim            403c69f5e02b        8 minutes ago       225MB
toomee/alinode      4.8.0-slim          403c69f5e02b        8 minutes ago       225MB
toomee/alinode      4                   dd8497da944f        9 minutes ago       272MB
toomee/alinode      4.8                 dd8497da944f        9 minutes ago       272MB
toomee/alinode      4.8.0               dd8497da944f        9 minutes ago       272MB
toomee/alinode      3-alpine            8f1d88e5fdcf        10 minutes ago      101MB
toomee/alinode      3.14-alpine         8f1d88e5fdcf        10 minutes ago      101MB
toomee/alinode      3.14.1-alpine       8f1d88e5fdcf        10 minutes ago      101MB
toomee/alinode      3-slim              cdcc791e5b8b        11 minutes ago      216MB
toomee/alinode      3.15-slim           cdcc791e5b8b        11 minutes ago      216MB
toomee/alinode      3.15.0-slim         cdcc791e5b8b        11 minutes ago      216MB
toomee/alinode      3                   3a04e8b4b73f        12 minutes ago      264MB
toomee/alinode      3.15                3a04e8b4b73f        12 minutes ago      264MB
toomee/alinode      3.15.0              3a04e8b4b73f        12 minutes ago      264MB

⁠使用说明

假设你的项目是如下结构

.
├── src
│   └── app.js
├── package.json
├── ecosystem.config.js
└── README.md
⁠拉取镜像
$ docker pull toomee/alinode:5
⁠1. 直接启动

到当前项目目录下执行如下命令:

$ docker run -d \
  -p 8000:8000 \
  -v $PWD:/app \
  -e "APP_ID=应用ID" \
  -e "APP_SECRET=应用密钥" \
  -h my-alinode \
  --name my-alinode \
  toomee/alinode:5
⁠2. 基于配置启动

项目跟目录创建 alinode.config.json 内容如下:

{
  "appid": "<YOUR APPID>",
  "secret": "<YOUR SECRET>",
  "logdir": "/tmp/",
  "error_log": [
    "</path/to/your/error.log>",
    "您的应用在业务层面产生的异常日志的路径",
    "例如:/root/.logs/error.#YYYY#-#MM#-#DD#-#HH#.log",
    "可选"
  ],
  "packages": [
    "</path/to/your/package.json>",
    "可以输入多个package.json的路径",
    "可选"
  ]
}

然后启动容器:

$ docker run -d \
  -p 8000:8000 \
  -v $PWD:/app \
  -h my-alinode \
  --name my-alinode \
  toomee/alinode:5
⁠常用命令
命令描述
$ docker exec my-alinode pm2 monit监控每个进程 CPU 使用情况
$ docker exec my-alinode pm2 list列出进程
$ docker exec my-alinode pm2 logs查看日志
$ docker exec my-alinode pm2 reload all无缝重启所有进程

PS: 具体使用说明看 PM2 和 alinode 文档

⁠高级应用

多环境基于配置部署方案:

添加 alinode.config.json, alinode.config.pre.json 到根目录。

启动 pre 环境容器:

$ docker run -d \
  -p 8000:8000 \
  -v $PWD:/app \
  -e "ALINODE_CONFIG=alinode.config.pre.json" \
  -h my-alinode \
  --name my-alinode \
  toomee/alinode:5

启动 正式 环境容器:

$ docker run -d \
  -p 8000:8000 \
  -v $PWD:/app \
  -h my-alinode \
  --name my-alinode \
  toomee/alinode:5

⁠docker-compose

也可以使用 docker-compose.yml 启动。

web:
  image: toomee/alinode:5
  restart: always
  hostname: my-alinode
  container_name: my-alinode
  environment:
    APP_ID: 应用ID
    APP_SECRET: 应用密钥
    # 或者使用自定义环境配置
    # ALINODE_CONFIG: alinode.config.pre.json
  ports:
    - 8000:8000
  volumes:
    - $PWD:/app

常用命令

$ docker-compose pull    # 更新/拉取镜像
$ docker-compose up -d   # 启动
$ docker-compose restart # 重启
$ docker-compose down    # 关闭并删除

⁠特别说明

-h my-alinode 是容器 hostname 最终会显示在 https://node.console.aliyun.com/⁠ 平台实例列表中。 如果不写,会显示默认容器名,也就是随机值。

⁠自定义

推荐自定义修改 Dockerfile 然后构建合适自己的镜像。
由于官网还没开源,所以 Dockerfile 也是未知的,官方镜像就像是黑匣子。
这个是我研究官网镜像总结出来的,是基于官网镜像直接抽取的,兼容性目前来看没啥问题。
有问题,欢迎反馈。

Tag summary

Content type

Image

Digest

Size

98 MB

Last updated

almost 7 years ago

docker pull toomee/alinode:5.13.0