如何从Docker容器内部托管剪贴板?

我把Vim安装在一个docker容器里面.

我想要一些文本,并以某种方式神奇地使它在我的主机(macOS)剪贴板上可用.

这甚至可能吗?

UPDATE

所以要澄清一下,这是我的完整用例……

> docker run …将一些带有Vim的容器烘焙到图像中
>默认的CMD会让我进入bash shell
>我正在将主机(macOS)中的app目录安装到容器中
>从容器中运行vim,编写一些代码
>来自vim我想要一些文本并且在两者中都有:

> docker系统剪贴板(如果需要,我可以将它粘贴到容器shell中)
>主机(macOS)系统剪贴板(所以我可以将其粘贴到其他主机程序; TextEdit或电子邮件,等等)

现在我不确定这是如何工作的主机(macOS)必须使用docker生态系统提供的VM才能首先运行docker(因为macOS不是基于Linux的系统,因此可以在没有中间VM的情况下本地运行docker容器.

所以我不确定将内容放入docker系统剪贴板的技巧是否会过滤回VM并进入实际(macOS)主机.

X11

我见过人们建议使用X11并将其套接字文件安装到docker容器中,然后使用xclip(或xsel).我尝试了这个但是无法让Vim进入适当的xclip寄存器来获取被拉动的内容.所以随后我不确定我是否尝试设置和安装x11:

> brew安装Caskroom / cask / xquartz
>打开-a XQuartz
>作为docker run的一部分运行-v /tmp/.X11-unix:/tmp/.X11-unix
>从容器内部apt-get install -y xclip
>从容器中的vim内部“* yiw(选择”*选择寄存器然后yiw将光标下的当前单词拉出来)

Note: if I tried to use xclip directly (just to see how it worked), most of what I tried resulted in Error: Can't open display: (null).

最佳答案 绝对是.

看看https://github.com/wincent/clipper

这是一个让你用netcat写入剪贴板的服务.

您所要做的就是能够访问您的machine’s localhost from inside a docker container.

点赞