gpt4 book ai didi

docker - 如何从 Docker 容器内部拉取到主机剪贴板?

转载 作者:行者123 更新时间:2023-12-02 04:26:58 36 4
gpt4 key购买 nike

我在 Docker 容器内安装了 Vim。

我想拉出一些文本并以某种方式神奇地使其在我的主机 (macOS) 剪贴板上可用。

这可能吗?

更新

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

  • docker run ...一些将 Vim 烘焙到镜像中的容器
  • 默认的 CMD 会将我带入 bash shell
  • 我正在将应用目录从主机 (macOS) 装载到容器中
  • 从容器中运行 vim,编写一些代码
  • 我想从 vim 中提取一些文本并将其放在两者中:
    • docker 系统剪贴板(这样我可以根据需要将其粘贴到容器外壳中)
    • 主机 (macOS) 系统剪贴板(这样我就可以将其粘贴到其他主机程序中;文本编辑或电子邮件等)

现在我不确定这是如何工作的,主机(macOS)必须使用 docker 生态系统提供的虚拟机才能首先运行 docker(因为 macOS 不是基于 Linux 的系统,并且因此,如果没有中间虚拟机,就无法 native 运行 docker 容器)。

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

x11

我看到人们建议使用 X11 并将其套接字文件安装到 docker 容器中,然后使用 xclip (或 xsel)。我尝试了这个,但无法让 Vim 拉入适当的寄存器,以便 xclip 拾取拉出的内容。因此,随后我不确定设置和挂载 x11 的尝试是否有效:

  • brew install Caskroom/cask/xquartz
  • open -a XQuartz
  • 作为 docker run 的一部分 -v/tmp/.X11-unix:/tmp/.X11-unix
  • 从容器内部apt-get install -y xclip
  • 从容器中的 vim "*yiw (选择 "* 选择寄存器,然后 yiw 拉出光标下的当前单词) < 但容器内的 vim 8 似乎没有这样的寄存器可用于拉入?我安装到容器中的 vimrc 已经有 set Clipboard+=unnamed (这是我过去用来让 vim 拉入 macOS 系统剪贴板的方法)

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).

最佳答案

只需在 tmux session 中运行,然后访问目标 Docker 容器(例如 docker container exec -it myhost bash ),我就可以使用 vim 打开内容,并使用标准 TMUX 复制行为将其发送到主机的剪贴板。任务完成。不需要clipper等等(如果这是您的用例)。

关于docker - 如何从 Docker 容器内部拉取到主机剪贴板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43075050/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com