我正在嘗試與log.io建立一個碼頭集裝箱。 如果我手動運行:碼頭構建完成後。容器不顯示,爲什麼?
docker run -it node:argon -p 28777:28777 -p 28778:28778 -p 8000:80 /bin/bash
和你在Dockerfile看到那麼一切都完美的作品,我能夠登錄到使用http服務的命令內手動運行。
FROM node:argon
WORKDIR Logz.io/src/
RUN useradd -ms /bin/bash ubuntu
#RUN mkdir /root/.log.io \
# && touch /root/.log.io/harvester.conf \
# && touch /root/.log.io/log_server.conf \
# && touch /root/.log.io/web_server.conf
#RUN chmod g+rwx /root/logzio
RUN apt-get update \
&& apt-get install -y vim net-tools
RUN npm install log.io
RUN /node_modules/log.io/bin/log.io-server &
RUN /node_modules/log.io/bin/log.io-harvester &
EXPOSE 28777
EXPOSE 28778
EXPOSE 8000
但是,如果我運行:
docker build .
創建容器,一切已安裝,但:
- 當創作完成後,我跑
docker ps -a
,容器是不顯示(儘管我在運行docker inspect
時得到了詳細信息)。- 當我通過http瀏覽它時,Log.io服務不可用。
任何人都知道我在做什麼錯了?
按照你所說的做完一個容器後,當我在裏面時,我發現節點服務沒有運行,知道爲什麼? –
您可能需要使用ENTRYPOINT和CMD,請參閱此Flask示例,http://containertutorials.com/docker-compose/flask-simple-app.html。 這個提供的設置將在容器創建時生成一個運行的Flask服務器。或者,你可以在你的'docker run ...'命令中明確執行服務器。 我不使用NPM那麼多,但這應該翻譯相同。 –