我正在尝试使用log.io构建一个docker容器。如果我手动运行:
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服务时,该服务不可用。
有人知道我在做什么错吗?
Docker build不创建容器,而是创建映像。
如果您这样做:
docker build -t "myimage:0.1" .
然后做
docker run -it myimage:0.1 -p 28777:28777 -p 28778:28778 -p 8000:80 /bin/bash
它将根据您刚刚构建的图像实例化一个容器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句