用docker跑js代码

1. 镜像配置

镜像配置文档如果你找不到哪里写镜像配置了,那你需要先注册,再来刷新页面。

我一开始没有下载docker for mac 所以我使用这种方法配置镜像

Docker Toolbox
(不推荐使用 docker toolbox,建议使用新的 docker for mac 及 docker for windows 以在这两种平台运行 docker )
请确认你的 Docker Toolbox 已经启动,并执行下列命令(请将 加速地址 替换为在加速器页面获取的专属地址)

docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile
exit
docker-machine restart default 

结果不能正常使用 根据提示运行docker-machine env依然不奏效

Restarting "default"...
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Waiting for SSH to be available...
Detecting the provisioner...
Restarted machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

于是我下载了 docker for mac 如果你是Windows系统,你可能需要 docker for windows

右键点击桌面顶栏的 docker 图标,选择 Preferences ,在 Daemon 标签(Docker 17.03 之前版本为 Advanced 标签)下的 Registry mirrors 列表中加入下面的镜像地址:

http://49e8d00f.m.daocloud.io Copy
点击 Apply & Restart 按钮使设置生效。

配置好之后,打开Kitematic 搜索 node 并create

点击exec会自动从终端进入容器

一开始不知道出什么问题了,一直报错,搜了半天也没解决

Error response from daemon: Container  XXXXX is not running

把node移除,重新create了。奇迹般的好了。


2. 在容器里运行JS代码

  1. 使用node 交互环境

点击exec会自动从终端进入容器

输入node进入node交互环境

console.log('hello js!');
//输出
hello js!
  1. 使用node xxx.js运行js文件

点击exec会自动从终端进入容器

//将js代码写入hello.js文件
echo "console.log('hello,js');" >> hello.js
//运行hello.js文件
node hello.js
//输出结果
hello,js

虽然有了node环境,但是除了交互式体验还可以,编辑文件非常不方便,

连vi编辑器都没有,apt-get update; apt-get install vim; vim安装都会报错。E: Unable to locate package vim

你常用的vscode在这里更是木有。

因此最好挂载个卷,可以在本机使用编辑器方便编写代码

  1. 挂载卷 在本地编辑文件 在容器运行

在本地终端执行下述命令:

docker run -it -v $PWD/dockerfile:/workspace node sh

上述代码表示

  1. 运行一个node 容器 执行 sh 命令 (docker run node sh)

  2. 由于 使用了 -it参数 表示打开一个终端进行交互操作

  3. -v 参数指定 挂载的卷 :为分割 把左边当前目录下的dockerfile文件夹挂载到右边根目录下的workspace文件夹

  4. 这意味着 dockerfile 和 workspace 绑定在一起的,里面的内容时刻保持一致

在dockerfile文件夹下创建hello.js文件,并且写入console.log('众里寻他千百度,蓦然回首,那人却在灯火阑珊处');

在容器中切换到workspace 并执行文件

以下代码在容器中执行

cd workspace

node hello.js

输出//
'众里寻他千百度,蓦然回首,那人却在灯火阑珊处'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,511评论 15 147
  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 7,548评论 0 17
  • 0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...
    sessionboy阅读 3,841评论 2 49
  • git clone https://github.com/laradock/laradock.git 例子:运行 ...
    啊吖优品阅读 3,439评论 2 6
  • 五月, 在异乡嘈杂的街头,遇见两个卖白兰花的妇女,胳膊上挽着个篮子,里面整齐地躺着几排白兰花。手指上也挂着几串白兰...
    芊芊若水阅读 548评论 1 4