标签: libcontainer

如何在 Docker 中替换 lsof(本机,而不是基于 LXC)

我对 Docker 容器内部lsof -i不产生任何输出感到有些困惑。

示例(来自容器内部的所有命令/输出):

[1] root@ec016481cf5f:/# lsof -i
[1] root@ec016481cf5f:/# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp6       0      0 :::22                   :::*                    LISTEN      -
Run Code Online (Sandbox Code Playgroud)

还请注意如何不显示 PID 或程序名称netstatfuser也给出了一些令人困惑的输出,并且也无法确定 PID。

任何人都可以对此有所了解吗?

  • 我该如何替换lsof -i(还要查看进程名称!)
  • 为什么输出也netstat瘫痪了?

注意:容器使用 运行"ExecDriver": "native-0.1",即 Docker 自己的执行层,而不是 LXC。


[1] root@ec016481cf5f:/# fuser -a4n tcp 22
Cannot stat file …
Run Code Online (Sandbox Code Playgroud)

linux docker libcontainer

18
推荐指数
1
解决办法
1万
查看次数

docker - 如何在容器中运行 x 桌面?

我正在尝试将我的 Linux 机器设置为运行多个来宾操作系统,其中一个是 Windows VM,另一个是 Linux 容器。这里的目标是防止我弄乱主机系统,同时可以自由地操作基本操作系统并使用主机硬件。最终,除了在容器中运行我的桌面之外,我还希望运行图形加速模拟等。由于 Docker 内置了非常棒的类似 git 的容器版本控制,因此使用它似乎是一个好主意。也许 libvirt 和 LXC 一样好,但是 docker 的特权模式使得不必为容器配置设备变得更容易。

我已经做了一些研究并已经提出了一些答案,但是我无法将它们放在一起。

LXC 背景

从 LXC 运行 X帮助我了解如何使用(即)配置容器:

lxc.cgroup.devices.allow = c 226:0 rwm

并使用

mknod -m 666 dri/card0 c 226 0

在容器内连接到主机设备。

码头工人

cuda - 使用来自 docker 容器的 GPU,我看到我可以通过 LXC 后端获得相同的设置以在 Docker 中工作。

在我看来,如果 docker 容器在特权模式下运行,那么它可以正常访问 GPU,而无需进行此额外配置。所以,我启动了一个基本系统,安装了图形驱动程序、xorg-server、xorg-xinit 和一个窗口管理器来测试它。

第一次尝试

# startx
Cannot run from a console (or some message like that)
Run Code Online (Sandbox Code Playgroud)

好吧,我以为我在 tty2 上。

# tty
/dev/console
Run Code Online (Sandbox Code Playgroud)

那不是我所期望的。

# chvt 2 …
Run Code Online (Sandbox Code Playgroud)

desktop virtualization lxc docker libcontainer

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

docker ×2

libcontainer ×2

desktop ×1

linux ×1

lxc ×1

virtualization ×1