在Docker容器内从主机运行可执行文件

10
我有一个Docker容器,我想在主机操作系统中启动一个进程,然后让它在Docker容器的上下文中执行。也就是说,我的可执行文件是主机文件系统中的一个文件,我想在主机操作系统中启动一个进程,但是我想将该进程限制在容器中,以便例如进程只能访问容器的文件系统等。
由于各种原因,我不想将可执行文件复制到容器中并在其中执行。
我确实意识到这是一件有点奇怪的事情,尝试在Docker容器中执行进程!

使用 volume 将该目录挂载到容器中,然后在正在运行的容器中使用 docker exec .. 执行可执行文件,这个方案怎么样? - Sabin
谢谢,但我实际上正在尝试保护容器内运行的进程无法访问外部文件系统,所以这对我没有用。 - Alex Flint
如果您只关心文件系统,为什么不使用 chroot - xuhdev
我关心安全问题,听说chroot并不被认为是安全的。这是真的吗? - Alex Flint
1个回答

8

使用卷将可执行文件装载到容器中,示例命令如下:

$ docker run -v /path/to/executable:/my_exe debian /my_exe

唯一的问题是你还需要确保容器中也有任何所需的库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接