运行 ubuntu 镜像的 docker 容器

时间:2021-04-24 21:55:27

标签: docker

Docker 新手。

我正在尝试运行 ubuntu 图像容器。 执行 docker run ubuntu 后,我找不到带有 docker ps 的容器。 我尝试了 docker ps -a,发现容器的状态是“10 秒前退出 (0)”。

但是通过运行 docker docker run -itd ubuntu /bin/bash 我能够让容器运行。

我不明白为什么第二个有效而第一个无效,我尝试搜索,但找不到答案。

1 个答案:

答案 0 :(得分:1)

Docker 不仅仅用于运行像 ubuntu 这样的单个镜像实例,它的主要用途是运行应用程序。

当你运行 docker run ubuntu 时,它运行 ubuntu 然后退出,因为它没有任何主进程运行,所以退出。

但是如果您运行 docker run nginx,它会显示在 docker ps 中,为什么?因为 nginx 有一个进程来运行这个容器。

试试这个:docker run exec -it ubuntu topdocker run exec -it nginx top 并查看 ID 为 1 的进程。看到任何区别了吗? top 容器中的 ubuntu PID 为 1,但 nginx 容器中的 nginx ... 命令为 PID 1。

如果您退出 top,您的容器会终止并停止,但如果您在 top 中退出 nginx,您的 nginx 容器会继续运行。但是每当 nginx ... 命令在 nginx 容器中终止时,nginx 容器也会停止。

我建议使用其他在线资源来阅读有关 Docker 的更多信息。