我不知道节点应用程序不运行的具体原因。基本上,我在nodejs应用程序中添加了一个dockerfile,下面是我的Dockerfile
FROM node:0.10-onbuild
RUN mv /usr/src/app /ghost && useradd ghost --home /ghost && \
cd /ghost
ENV NODE_ENV production
VOLUME ["/ghost/content"]
WORKDIR /ghost
EXPOSE 2368
CMD ["bash", "start.bash"]其中start.bash看起来是这样的:
#!/bin/bash
GHOST="/ghost"
chown -R ghost:ghost /ghost
su ghost << EOF
cd "$GHOST"
NODE_ENV={$NODE_ENV:-production} npm start
EOF我通常是这样经营码头的:
docker run --name ghost -d -p 80:2368 user/ghost我看不出是怎么回事,于是我决定这样运行:
docker run --name ghost -it -p 80:2368 user/ghost我得到了这个输出:
> ghost@0.5.2 start /ghost
> node index看起来,就像启动一样,但是当我检查容器docker ps -a的状态时,它就被停止了。
这是回购,但是,start.bash和dockerfile不同,因为我还没有提交最新的,因为两者都不起作用:
发布于 2014-09-30 10:45:59
我设法使它正常工作,start bash文件和Dockerfile中都没有错误,只是我未能再次构建映像。
尽管如此,您可以在我的存储库中签出最终的Dockerfile和start.bash文件:
码头工人(https://github.com/joeyhipolito/ghost) )
在我写这个答案的时候,您可以在特性分支feature/dockerize中看到它。
https://stackoverflow.com/questions/26114276
复制相似问题