首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用其他用户运行容器时,Docker无法在build上运行。

当使用其他用户运行容器时,Docker无法在build上运行。
EN

Stack Overflow用户
提问于 2014-09-30 06:38:40
回答 1查看 593关注 0票数 0

我不知道节点应用程序不运行的具体原因。基本上,我在nodejs应用程序中添加了一个dockerfile,下面是我的Dockerfile

代码语言:javascript
复制
 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看起来是这样的:

代码语言:javascript
复制
 #!/bin/bash

 GHOST="/ghost"
 chown -R ghost:ghost /ghost
 su ghost << EOF
 cd "$GHOST"
 NODE_ENV={$NODE_ENV:-production} npm start
 EOF

我通常是这样经营码头的:

代码语言:javascript
复制
 docker run --name ghost -d -p 80:2368 user/ghost

我看不出是怎么回事,于是我决定这样运行:

代码语言:javascript
复制
 docker run --name ghost -it -p 80:2368 user/ghost

我得到了这个输出:

代码语言:javascript
复制
 > ghost@0.5.2 start /ghost
 > node index

看起来,就像启动一样,但是当我检查容器docker ps -a的状态时,它就被停止了。

这是回购,但是,start.bash和dockerfile不同,因为我还没有提交最新的,因为两者都不起作用:

JoeyHipolito/Ghost

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-30 10:45:59

我设法使它正常工作,start bash文件和Dockerfile中都没有错误,只是我未能再次构建映像。

尽管如此,您可以在我的存储库中签出最终的Dockerfilestart.bash文件:

码头工人(https://github.com/joeyhipolito/ghost) )

在我写这个答案的时候,您可以在特性分支feature/dockerize中看到它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26114276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档