网站搜索

在后台运行 Docker 容器(分离模式)


在 Docker 下,镜像开发人员可以定义与分离或前台运行相关的镜像默认值,以及其他有用的设置。但是,使用docker run [OPTIONS]命令,您可以添加或覆盖开发人员设置的映像默认值,从而使您可以更好地控制容器的运行方式。

另请阅读:ctop – 用于监控 Docker 容器的类似 Top 的界面

在本文中,我们将简要解释运行容器的前台模式后台模式,并向您展示如何运行Docker容器 > 在分离模式的后台。

前台模式(默认)与后台/分离模式

在启动Docker容器之前,您必须首先决定是否要在默认前台模式下运行它,还是在后台以分离模式运行它

前台模式下,Docker可以启动容器中的进程,并将控制台附加到进程的标准输入、标准输出和标准错误。

还有命令行选项可以对其进行更多配置,例如 -t 为进程分配一个 pseudo-tty,以及 -i 来保留即使未连接,STDIN也会打开。您还可以使用 -a=[ 将其附加到一个或多个文件描述符(STDINSTDOUT 和/或 STDERR)此处的值] 标志。

重要的是,--rm选项告诉Docker在容器退出时自动删除它。此示例显示如何在前台模式下启动 Docker 容器:

docker run --rm -ti -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest

在前台运行容器的缺点是您无法再访问命令提示符,如上面的屏幕截图所示。这意味着容器运行时您无法运行任何其他命令。

要在后台运行 Docker 容器,请使用 -d=true 或仅使用 -d 选项。首先,通过按 [Ctrl+C] 将其从前台模式停止,然后以分离模式运行它,如下所示:


docker run -d --rm -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest

要列出所有容器,请运行以下命令(默认显示刚刚运行)。

docker ps -a

此外,要重新附加到已分离的容器,请使用docker Attach命令。

docker attach --name pandorafms
OR
docker attach 301aef99c1f3

如果要停止上述容器或任何其他正在运行的容器,请使用以下命令(将 301aef99c1f3 替换为实际容器 ID)。

docker stop 301aef99c1f3

您可能还想阅读以下相关 Docker 文章。

  1. 安装 Docker 并学习 CentOS 和 RHEL 7/6 中的基本容器操作 – 第 1 部分
  2. 如何命名或重命名 Docker 容器
  3. 如何删除 Docker 镜像、容器和卷

就是这样!在本文中,我们展示了如何在后台以分离模式运行 Docker 容器。使用下面的评论表向我们提供反馈或提出有关本文的问题。