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,一切都安装,但:
- 当创build完成后,我运行
docker ps -a
,容器不显示(即使我运行docker inspect
时得到它的细节)。- 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。