为了集成 alinode 今晚通宵,天都亮了还没搞好 - CNode技术社区

为了集成 alinode 今晚通宵,天都亮了还没搞好
发布于 7 年前 作者 axetroy 4506 次浏览 来自 问答

开始用 node 镜像,然后换 alpine, 最后上 centerOS

要么是 tnvm 没有正确设置path,手动设置之后运行shell语法报错。

再改一下语法,运行不报错了。但同时也下载不了了, 毫无反应

不知不觉,折腾了几个小时

但是我在Docker环境外 (Mac) 上安装又可以

有正确的姿势吗?

贴上部分 Dockerfile

FROM centos:6.10
# install bash
# RUN apk upgrade
# RUN apk add --no-cache bash
RUN yum -y install wget
# install alinode
RUN wget -O- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash
# RUN touch ~/.bashrc
RUN echo 'export TNVM_DIR="/root/.tnvm"' >> ~/.bashrc
RUN echo 'alias tnvm="/root/.tnvm/tnvm.sh"' >> ~/.bashrc
# COPY ./tnvm.sh /root/.tnvm/tnvm.sh
# RUN chmod 0777 /root/.tnvm/tnvm.sh && sed '1i\#!/bin/bash' /root/.tnvm/tnvm.sh && mv /root/.tnvm/tnvm.sh /usr/local/bin/tnvm
RUN cat ~/.bashrc
RUN source ~/.bashrc
RUN . ~/.bashrc
RUN chmod 0777 /root/.tnvm/tnvm.sh
RUN mv /root/.tnvm/tnvm.sh /bin/tnvm
RUN tnvm ls-remote alinode
RUN tnvm install alinode-v4.3.0
RUN tnvm use alinode-v4.3.0
RUN node -v
RUN npm install @alicloud/agenthub -g
RUN npm config set registry https://registry.npm.taobao.org
RUN npm install pm2 -g --production
...
14 回复

alpine 镜像我们有提供的...可以看下 Node.js 性能平台的容器镜像文档

来自酷炫的 CNodeMD

另外,有安装部署使用问题,可以加官方客户钉钉群 11794270 讨论

来自酷炫的 CNodeMD

好多层。试试在一个层构建?

FROM centos:6.10
RUN yum -y install wget
# install alinode
RUN wget -O- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash
RUN echo 'export TNVM_DIR="/root/.tnvm"' >> ~/.bashrc
RUN source ~/.bashrc \
 && tnvm install alinode-v4.3.0 \
 && tnvm use alinode-v4.3.0 \
 && npm install @alicloud/agenthub -g \
 && npm config set registry https://registry.npm.taobao.org \
 && npm install pm2 -g --productio

@hyj1991 alinode就是easy-monitor么?

=。= docker 里面装一些嵌入级别的东西还是难搞啊。非运维搞不定系列。我还是感觉原生靠谱好用,毕竟机器不是 8h16g 的高性能怪兽。👾

@chapgaga 当然不是,easy-monitor 是我的个人开源项目

来自酷炫的 CNodeMD

@MiYogurt 就是不用alinode,用原生node么?

感谢楼上各位提供的帮助

暂且可行的Dockerfile

比较蛋疼的是,原先使用的是 alpine, 现改用 centerOS,镜像大小直接增加200M

而且tnvm的脚本只能用 bash 运行 alpine 默认为 sh, 这很尴尬

FROM centos:6.10
ENV ALINODE_VERSION v4.3.0
ENV ALINODE_BIN_DIR /root/.tnvm/versions/alinode/$ALINODE_VERSION/bin
WORKDIR /root/app
RUN mkdir -p /root/app
# package information
COPY ./package.json /root/app/package.json
COPY ./package-lock.json /root/app/package-lock.json
# copy config file
COPY ./app.config.js /root/app/app.config.js
COPY ./ecosystem.config.js /root/app/ecosystem.config.js
# copy dist-build files
COPY ./dist-build /root/app/dist
# copy static files
COPY ./static /root/app/static
# copy alinode
COPY ./alinode.json /root/app/alinode.json
# use bash as default
# SHELL ["/bin/bash", "-c"]
# install alinode
RUN yum -y install wget \
 && wget -O- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash \
 && source ~/.bashrc \
 && tnvm install alinode-$ALINODE_VERSION \
 && tnvm use alinode-$ALINODE_VERSION \
 && npm config set registry https://registry.npm.taobao.org \
 && echo NodeJS $(node -v) \
 && npm install @alicloud/agenthub pm2 -g --production \
 && npm install --production \
 # link command to global
 && ln -s $ALINODE_BIN_DIR/* /usr/local/bin/
version: "3"
services:
 nginx_proxy:
 image: nginx:1.15.3-alpine
 restart: always
 working_dir: /home/static
 volumes:
 # - /etc/localtime:/etc/localtime # Linux 下, 保持容器和宿主的时间和时区一致
 - ./nginx.conf:/etc/nginx/nginx.conf # 映射 ginx 配置文件
 - ./logs/nginx:/var/log/nginx # 日志文件
 ports:
 - 3006:80 # 宿主端口:容器端口
 links:
 - web:web
 web:
 image: axetroy/app:latest
 restart: always
 working_dir: /root/app
 environment:
 - NODE_ENV=production
 - HOST=0.0.0.0
 - PORT=80
 - ENABLE_NODE_LOG=YES
 - NODE_LOG_DIR=/root/app/logs
 volumes:
 # - /etc/localtime:/etc/localtime # Linux 下, 保持容器和宿主的时间和时区一致
 - ./logs:/root/app/logs # 日志文件
 - ./temp:/root/app/temp # 缓存文件
 # command: ["pm2-runtime", "start", "ecosystem.config.js"]
 command: ["bash", "-c", "agenthub start alinode.json && pm2-runtime start ecosystem.config.js"]

@axetroy 使用alinode的alpine镜像就不用tnvm了

[CNodeMD]

@dbit-xia 并没有找到 alpine 镜像,如果有的话拜托 @ 我

阿里云容器镜像 要什么有什么

@axetroy 官方文档里有,容器列表下半部分

另附 "Node.js 性能平台客户群"群的钉钉群号: 11794270

[CNodeMD]

@axetroy 官方文档里有,容器列表下半部分

另附 "Node.js 性能平台客户群"群的钉钉群号: 11794270

[CNodeMD]

回到顶部

AltStyle によって変換されたページ (->オリジナル) /