2

当我尝试 dockerize 一个sails 应用程序时,我遇到了几个问题。我正在使用适用于 Windows 10 的 docker 工具箱。我的 Dockerfile 如下所示:

FROM node
RUN npm install -g sails gulp bower
ADD ./start /root/start
RUN chmod +x /root/start
ADD dev /root/dev
WORKDIR /root/dev
VOLUME ["/root/dev"]
EXPOSE 1337
EXPOSE 35729

这是我的启动脚本:

cd dev
npm install
cd assets
bower install
cd ..
sails lift

当我启动时:

docker run -d -p 1337:1337 -p 35729:35729 -v dev:/root/dev --name sails sails

然后: docker exec -tisails sh

This error happened :
  info: Starting app...


error: Server failed to start.
error: (received error: EADDRINUSE)
error:
error: Troubleshooting tips:
error:
error:  -> Is something else already running on port 1337 ?
error:
error:  -> Are you deploying on a platform that requires an explicit hostname, like OpenShift?
error:     (Try setting the `explicitHost` config to the hostname where the       server will be accessible.)
error:     (e.g. `mydomain.com` or `183.24.244.42`)

最后,似乎挂载的卷也不起作用(如果在容器中创建一个文件夹,我在 Windows 上没有看到它。也许我误解了 docker 的工作原理。

谢谢你的帮助。

4

0 回答 0