docker新手。
我正在尝试运行一个ubuntu映像容器。在执行docker run ubuntu
之后,我没有找到具有docker ps
的容器。我尝试了CCD_ 3;10秒前退出(0(";。
但是通过运行dockerdocker run -itd ubuntu /bin/bash
,我能够使容器运行起来。
我不明白为什么第二个有效,而第一个无效,我试着搜索,但没能找到答案。
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的信息。