一劳永逸的使用最新nodejs开发环境

本文介绍如何通过Docker获取最新的Node.js开发环境。详细步骤包括搜索和拉取官方Node.js镜像,并通过示例展示如何运行容器及映射宿主机目录。

       简单说一下如何获取最新的nodejs docker镜像,从而实现随时随地获取nodejs最新开发环境。

       我以前曾经在docker里面搭建了nodejs环境,这样的好处就是实现了环境一次搭建可以多次使用的问题。相应的镜像文件可以供多人使用,还是非常的方便。但是由于nodejs的更新速度非常之快,最近我在使用nodejs接入AWS的IOT时候发现,一年多以前的nodejs环境已经不好用了,我使用npm update -g命令进行更新,发现更新时候出现了很多错误,其中应该是出现了大版本更新而导致版本不兼容的问题,总是解决这些错误会花费很长时间。我准备到nodejs官网下载源码进行编译的时候,发现nodejs提供了相应的docker镜像,这里。这样,事情就变的简单了。既然nodejs官方提供了镜像,那么这个镜像的更新就是有人定期进行维护,就能够保持是最新的nodejs版本。 而且提供的是docker镜像,因此随时随地可以拿来使用。

       启动docker,service docker start,使用docker search node命令发现第一个便是官方提供的镜像,见下:

[root@myhost connect_device_package]# docker search node
INDEX       NAME                                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/node                                   Node.js is a JavaScript-based platform for...   5174      [OK]       
docker.io   docker.io/mhart/alpine-node                      Minimal Node.js built on Alpine Linux           341                  
docker.io   docker.io/nodered/node-red-docker                Node-RED Docker images.                         125                  [OK]
docker.io   docker.io/iojs                                   io.js is an npm compatible platform origin...   124       [OK]       
docker.io   docker.io/prom/node-exporter                                                                     58                   [OK]
docker.io   docker.io/digitallyseamless/nodejs-bower-grunt    Node.js w/ Bower & Grunt Dockerfile for t...   42                   [OK]
docker.io   docker.io/readytalk/nodejs                       Node.js based off the official Debian Whee...   40                   [OK]
docker.io   docker.io/kkarczmarczyk/node-yarn                Node docker image with yarn package manage...   38                   [OK]
docker.io   docker.io/circleci/node                          Node.js is a JavaScript-based platform for...   35                   
docker.io   docker.io/bitnami/node                           Bitnami Node.js Docker Image                    27                   [OK]
docker.io   docker.io/iron/node                              Tiny Node image                                 26                   
docker.io   docker.io/calico/node                                                                            15                   [OK]
docker.io   docker.io/nodesource/trusty                      The Official NodeSource Docker Images           13                   
docker.io   docker.io/appsvc/node                            Azure App Service Node.js dockerfiles           10                   [OK]
docker.io   docker.io/cusspvz/node                           ? Super small Node.js container (~15MB)...      8                    [OK]
docker.io   docker.io/mc2labs/nodejs                         CoffeScript and Supervisor powered Nodejs ...   7                    [OK]
docker.io   docker.io/resin/raspberry-pi-alpine-node         Node.js is a JavaScript-based platform for...   6                    
docker.io   docker.io/basi/node-exporter                     Node exporter image that allows to expose ...   5                    [OK]
docker.io   docker.io/jprjr/stackbrew-node                   A stackbrew/ubuntu-based image for Docker,...   2                    [OK]
docker.io   docker.io/ppc64le/node                           Node.js is a JavaScript-based platform for...   2                    
docker.io   docker.io/nodecg/nodecg                          Create broadcast graphics using Node.js an...   1                    [OK]
docker.io   docker.io/resin/artik710-node                    Node.js is a JavaScript-based platform for...   1                    
docker.io   docker.io/appsvctest/node                        node build                                      0                    [OK]
docker.io   docker.io/camptocamp/node-collectd               rancher node monitoring agent                   0                    [OK]
docker.io   docker.io/myob/node                              Base node.js image

       使用docker pull node命令拉取镜像,大概670M,速度较慢,我用了一个小时才pull完毕。 docker images 命令发现images如下:

[root@myhost connect_device_package]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/node      latest              993f38da6c6c        3 days ago          676.7 MB
docker.io/centos    latest              36540f359ca3        8 months ago        192.5 MB

       使用如下命令生成容器,同时将宿主主机的/home/data/mynodejs映射至docker的/home/myworkspace 目录,将ssh 22端口映射为9022端口 。

docker run -d -i -t -p 9022:22 --privileged=true -v /home/data/mynodejs:/home/myworkspace --name mynodejs2 docker.io/node
root@myhost connect_device_package]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
b102f9b9629d        docker.io/node      "node"              14 hours ago        Up 14 hours         0.0.0.0:9022->22/tcp   mynodejs2

       进入容器并执行脚本:

[root@myhost connect_device_package]# sudo docker exec -it b1 /bin/sh
# ls
bin  boot  dev	etc  home  lib	lib64  media  mnt  opt	proc  root  run  sbin  srv  sys  tmp  usr  var
# 
# ./start.sh
Running pub/sub sample application...
connect

       这时候就可以使用最新的nodejs进行开发了。

       本文为优快云村中少年原创文章,转载记得加上小尾巴偶,博主链接这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村中少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值