码头新手。
我正在尝试运行一个ubuntu镜像容器。在执行docker run ubuntu之后,我找不到带有docker ps的容器。我尝试了docker ps -a,发现容器的状态是"Exited (0) 10秒前“。
但是通过运行docker docker run -itd ubuntu /bin/bash,我能够让容器运行起来。
我不明白为什么第二个有效,而第一个不行,我试着搜索,但我找不到答案。
发布于 2021-04-25 06:06:08
Docker并不意味着只运行像ubuntu这样的单个镜像实例,但它的主要用途是运行应用程序。
当您运行docker run ubuntu时,它会运行ubuntu,然后退出,因为它没有任何主进程可运行,因此退出。
但是如果你运行docker run nginx,它显示在docker ps中,为什么呢?因为nginx有一个让这个容器运行的进程。
尝试以下命令:docker run exec -it ubuntu top和docker run exec -it nginx top,并查看ID为1的进程。看到有什么不同吗?ubuntu容器中的top的PID为1,而nginx容器中的nginx ...命令的PID为1。
如果您退出top,您的容器将终止并停止,但如果您在nginx中退出top,您的nginx容器将继续运行。但是,每当nginx容器中的nginx ...命令终止时,nginx容器也会停止。
我建议使用其他在线资源来阅读有关Docker的更多信息。
https://stackoverflow.com/questions/67247799
复制相似问题