【问题标题】:Started container with docker run, now it is not showing up in docker ps -a使用 docker run 启动容器,现在它没有显示在 docker ps -a
【发布时间】:2019-02-08 18:30:19
【问题描述】:

我用 docker run 启动了一个 docker 容器,像这样:

docker run \
-d \
--name plex \
--restart unless-stopped \
--network=host \
-e TZ="<timezone>" \
-e PLEX_CLAIM="<claimToken>" \
-v <path/to/plex/database>:/config \
-v <path/to/transcode/temp>:/transcode \
-v <path/to/media>:/data \
plexinc/pms-docker

Link to GitHub.com/plexinc/pms-docker

docker 容器正在运行,因为我能够访问端口和服务,但是当我运行 sudo docker ps -asudo docker ps -aqsudo docker ps --filter "name=plex" 时似乎无法列出容器

我尝试运行 pstree,并得到以下输出:

systemd─┬─accounts-daemon───2*[{accounts-daemon}]
        ├─agetty
        ├─atd
        ├─containerd───14*[{containerd}]
        ├─cron
        ├─dbus-daemon
        ├─dockerd─┬─docker-containe─┬─docker-containe─┬─s6-svscan─┬─s6-supervise
        │         │                 │                 │           └─s6-supervise───python───{python}
        │         │                 │                 └─9*[{docker-containe}]
        │         │                 └─17*[{docker-containe}]
        │         ├─docker-proxy───6*[{docker-proxy}]
        │         └─21*[{dockerd}]
        ├─dockerd─┬─containerd─┬─containerd-shim─┬─s6-svscan─┬─s6-supervise
        │         │            │                 │           └─s6-supervise───sh───Plex Media Serv─┬─Plex DLNA Serve───16*[{Plex DLNA Serve}]
        │         │            │                 │                                                 ├─Plex Script Hos───13*[{Plex Script Hos}]
        │         │            │                 │                                                 ├─Plex Script Hos───9*[{Plex Script Hos}]
        │         │            │                 │                                                 ├─Plex Tuner Serv───10*[{Plex Tuner Serv}]
        │         │            │                 │                                                 └─28*[{Plex Media Serv}]
        │         │            │                 └─9*[{containerd-shim}]
        │         │            └─17*[{containerd}]
        │         └─20*[{dockerd}]

所以它显然是在 docker 中运行的。当我似乎无法从 docker ps -a 获取 ID 时,如何重新启动或重建此容器? sudo docker stop plexsudo docker restart plex 也不起作用。

编辑:

抱歉,不包括 os 和 docker。我在 Ubuntu 服务器 Ubuntu 18.10 (GNU/Linux 4.18.0-15-generic x86_64) 上运行

Docker 版本 18.09.1,构建 4c52b90

编辑 2:

sudo ps aux |grep lex 输出:

root      2392  0.0  0.0    196     4 ?        S    17:53   0:00 s6-supervise plex
HOMEUSER     2394  0.0  0.0   4504   752 ?        Ss   17:53   0:00 /bin/sh -c LD_LIBRARY_PATH=/usr/lib/plexmediaserver:/usr/lib/plexmediaserver/lib /usr/lib/plexmediaserver/Plex\ Media\ Server
HOMEUSER     2402  1.6  0.5 707684 91316 ?        Sl   17:53   2:47 /usr/lib/plexmediaserver/Plex Media Server
HOMEUSER     2458  0.1  0.3 1791280 55380 ?       SNl  17:53   0:17 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-cc260c476/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.14.1.5488-cc260c476 /usr/lib/plexmediaserver/Resources/Plug-ins-cc260c476/System.bundle
HOMEUSER     3134  0.2  0.1 373108 22540 ?        Sl   17:53   0:22 /usr/lib/plexmediaserver/Plex DLNA Server
HOMEUSER     3137  0.0  0.0 372964 15276 ?        Sl   17:53   0:00 /usr/lib/plexmediaserver/Plex Tuner Service /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexmediaserver/Resources/Tuner/Shared 1.14.1.5488-cc260c476 32600 /waitmutex
HOMEUSER     6382  0.0  0.0   7980   896 pts/1    S+   20:45   0:00 grep --color=auto lex

【问题讨论】:

  • 你试过运行sudo docker ps -aq吗?试试看并告诉我们。
  • 你能用docker ps |grep lex再检查一次吗(不需要-aps aux |grep lex?对我来说看起来很奇怪
  • systemd 表示您至少使用linux。也许有关操作系统、内核、docker 版本的更多信息会有用
  • 你应该可以使用plex(容器的--name)来控制容器。如果它的行为令人困惑,那么在没有-d(“在后台”)的情况下启动它并查看会发生什么通常也会提供信息。
  • 不,sudo docker stop plex(或没有 sudo)不起作用Error response from daemon: No such container: plex 如果这样可行,则在执行 docker ps 时应列出容器。添加了有关操作系统和 Docker 版本的信息。

标签: linux docker ubuntu


【解决方案1】:

安装了 docker 两次。一次是apt-get,一次是snap

从 apt 和 snap 中完全删除 docker,并仅使用 apt-get 安装,现在可以使用 docker ps -a 看到 plex 容器。

【讨论】:

【解决方案2】:

为了回答这个问题,还有一种方法可以在不使用docker ps 的情况下识别容器id。您必须尝试删除创建容器的图像。

在您的情况下,您必须提供docker rmi plexinc/pms-docker。如果有与此图像关联的容器,那么您将收到如下错误消息:

Error response from daemon: conflict: unable to remove repository reference "plexinc/pms-docker" (must force) - container 92203921146d is using its referenced image f123as324ad

92203921146d 是您的容器 ID。

【讨论】:

    猜你喜欢
    • 2018-09-29
    • 2017-08-10
    • 2023-03-09
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    相关资源
    最近更新 更多