当我尝试 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 的工作原理。
谢谢你的帮助。