node.js - macos 上用于 sails js 开发的 Docker 图像挂起

标签 node.js macos docker sails.js

我有一个在 Arch Linux (sailsjs-dev) 上构建的带有 Node 和 sailsjs 的 docker 镜像,我想将其用于开发,将应用程序目录安装在容器内,如下所示:

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 应用程序完美运行。导致问题的 sails 有什么特殊之处?

我还可以补充一点,在 Mac 上,docker 使用一个名为 docker machine 的 virtualbox 实例

最佳答案

我们从 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 避免创建符号链接(symbolic link)。

关于node.js - macos 上用于 sails js 开发的 Docker 图像挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33811794/

相关文章:

node.js - 中断后返回 waterfall 对话框

node.js - 如何观看 .sss 文件并在它们发生更改时重新运行我的 npm 脚本

python - pip 不存在或无法在 virtualenv 中执行

linux - Fabric Docker 镜像版本 1.1.0-alpha 与此较新版本的 BYFN 不匹配,不受支持

docker - 无法使用docker-compose运行Registrator。获取连接被拒绝错误

node.js - Node.js 能否完全替代 Apache 或 NGINX 等解决方案?

javascript - 在node.js中合并具有不同格式的多个对象

javascript - 某些 Mac 机器浏览器上的 Angularjs CORS 问题

macos - 触发 mac 应用程序以从声音或其他物理(现实世界)事件开始

docker buildkit 在使用远程代理转发时挂载 ssh