镜像内安装NodeJS的简单方法
- 公司内有产品需要安装nodejs以便进行相关操作,Linux和Windows时没有问题,但是如果是镜像的话可能会稍微复杂一点, 这里简单进行一下总结, 以便备忘.
1. 介质准备.
- 建议开发同事能够将最新的介质提供一个特定的目录便于获取,文件名保持一致, 旧版本使用实际发布时间进行设置, 每次搭建基础镜像时可以通过 wget 等方式获取介质.
wget http://yourip/nodejs.tar.gz /nodejs/nodejs/
cd /nodejs/nodejs/
tar -zxvf nodejs.tar.gz
chmod 700 * -R
- 需要一个基础镜像.
docker pull centos
2. 编写dockerfile以及脚本
- 编写安装nodejs等的脚本信息.
- 注意 里面的脚本路径,需要在镜像里面配置好了.
rm -rf /usr/bin/ng
ln -s /nodejs/lib/node_modules/@angular/cli/bin/ng /usr/bin/ng
rm -rf /usr/bin/node
ln -s /nodejs/bin/node /usr/bin/node
rm -rf /usr/bin/jit
ln -s /nodejs/bin/jit /usr/bin/jit
rm -rf /usr/bin/npm
ln -s /nodejs/bin/npm /usr/bin/npm
rm -rf /usr/bin/npx
ln -s /nodejs/bin/npx /usr/bin/npx
-
可以将文件设置成 install.sh 放置到/nodejs/ 的目录下面.
-
编写dockerfile的文件
内容为:
FROM centos:yourtag
WORKDIR /nodejs
COPY install.sh /
COPY nodejs /nodejs
WORKDIR /
RUN ./install.sh
3. 简单验证
- 第一步 docker build
cd /nodejs
docker build . -t nodejs:yourtag
- 第二步 启动镜像验证
docker run -it nodejs:yourtag /bin/bash
执行之后查看版本信息
[root@a05d2c444048 /]# jit --version
1.1.36
[root@a05d2c444048 /]# node -v
v10.20.0
[root@a05d2c444048 /]# npm -v
6.14.4
[root@a05d2c444048 /]# npx -v
6.14.4