[英]"Cannot GET /" error when running angular application on docker container
[英]Docker cannot run on build when running container with a different user
我不知道為什么節點應用程序無法運行的細節。 基本上我在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:
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是不同的,因為我都沒有提交最新文件,因為它們都不起作用:
我設法使其正常工作, start bash
文件或Dockerfile
都沒有錯誤,只是我再次無法構建映像。
這樣,您可以在我的存儲庫中檢出最終的Dockerfile
和start.bash
文件:
Ghost-blog__Docker(https://github.com/joeyhipolito/ghost)
在我編寫此答案時,您可以在功能分支feature/dockerize
看到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.