dockerbuild造后。 容器不显示,为什么?

我试图build立一个docker容器log.io。 如果我手动运行:

docker run -it node:argon -p 28777:28777 -p 28778:28778 -p 8000:80 /bin/bash 

并手动运行你在Dockerfile中看到的命令,然后一切正常,我可以使用httplogin到服务。

 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 . 

容器被创build,一切都安装,但:

  1. 当创build完成后,我运行docker ps -a ,容器不显示(即使我运行docker inspect时得到它的细节)。
  2. Log.io服务在我通过http浏览时不可用。

任何人都知道我在做什么错了?

Docker构build不创build容器,它创build一个图像。

如果你这样做:

 docker build -t "myimage:0.1" . 

然后做

 docker run -it myimage:0.1 -p 28777:28777 -p 28778:28778 -p 8000:80 /bin/bash 

它会基于你刚刚build立的图像实例化一个容器。

当你从一个Dockerfilebuild立一个image ,一个容器将不可用。 您将需要从创build的image创build一个container

您可以使用命令docker images查看您的docker images

从这个图像列表中,你可以通过docker run ...来创build你的容器docker run ...

如果您的Docker容器在运行后不可见,那么您的构build可能会失败,并且源自您的Dockerfile。