在后台运行 ubuntu docker 镜像

时间:2021-03-11 14:52:07

标签: docker docker-container docker-image

我试图在后台运行 ubuntu docker 镜像。所以我尝试了下面的命令

sudo docker container run -d --name my-ubuntu-container ubuntu:latest

但是这个命令不会在后台运行容器。实际上,使用

检查时状态变为“EXITED”
docker container ls -a

但是如果我在上面的命令中添加“-it”标志。然后容器在后台运行。

sudo docker container run -itd --name my-ubuntu-container ubuntu:latest

现在正在检查 docker container ls -a。我们现在在“UP”中看到状态,它在后台运行。

谁能告诉我为什么在上面的命令中添加“-it”标志和“-d”会在后台运行 ubuntu docker 镜像?

2 个答案:

答案 0 :(得分:0)

首先,您应该避免使用“sudo”运行 docker 命令。相反,将您当前的用户添加到您的 linux 操作系统中的 docker 组。

此外,您可以执行 docker container logs <container_id> 以查看是否有最终错误。

正如其他帖子中所述:https://stackoverflow.com/a/48368594/2409641

<块引用>

-它是 --interactive + --tty 的缩写,当您使用此命令 docker run 时.. 它会带您直接进入容器,其中 -d 是 --detach 的缩写,这意味着您只需运行容器,然后从它分离,所以基本上你在后台运行容器.. 编辑:因此,如果您使用-itd 运行 docker 容器,它将运行-it 选项并将您与容器分离,因此即使没有任何默认应用程序运行,您的容器仍在后台运行..

答案 1 :(得分:0)

您没有指定命令,因此容器使用默认命令 bash 运行。 如果您以交互方式运行 bash (-ti),它会保持打开状态,否则会立即退出。 如果您想在后台运行分离的容器,您可以将命令从 bash 更改为阻止命令 - 例如 tail -f /dev/null

您可以运行以下命令,容器不会立即退出。

sudo docker container run -d --name my-ubuntu-container ubuntu:latest tail -f /dev/null