在macOS上开发sailsjs所需的Docker镜像卡住了

3
我有一个建立在Arch Linux上的Docker镜像(sailsjs-dev),里面包括了node和sailsjs,我想将其用于开发,通过挂载应用程序目录到容器内部实现如下:
docker run --rm --name testapp -p 1337:1337 -v $PWD:/app \
  sailsjs-dev sails lift

$PWD是Sails项目所在的目录。

这在Linux上运行得很好,但是如果我尝试在macosx上运行它(使用docker-machine),它会在一开始就永远挂起,而且日志级别设置为silly(在config/log.js中):

info: Starting app... 

这是我们得到的所有输出,没有其他的。

请注意,使用同一个docker镜像在Mac上运行express应用程序也可以完美运行。那么,什么可能使得sail有问题呢?

我还可以补充一点,在Mac上,docker使用名为docker machine的虚拟机实例。


1
你能分享一下完整输出的要点吗? gist.github.com - Travis Webb
在config/log.js中,我们为日志添加了一个愚蠢的级别。以下是结果:`gabrielem@ga testapp $ docker run --rm --name testapp -p 1337:1337 -v $PWD:/app positronicbrain/sailsjs-dev:2015-11-16 sails lift --verbose信息:正在启动应用程序...` - gabrielem
嗨@TravisWebb,我们解决了它。 - gabrielem
1个回答

3
我们通过在Docker容器内运行npm install来解决了这个问题:
docker run --rm --name testapp -p 1337:1337 -ti -v $PWD:/app \
 sailsjs-dev /bin/bash

npm install --no-bin-links

--no-bin-links 避免创建符号链接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接