powershell - Docker ~ 粘贴到交互式 PowerShell 终端中
问题描述
我有以下问题:
在 Windows 机器上,我使用 PowerShell CLI 来运行运行 microsoft/mssql-server-windows-express 的容器。我可以使用命令“docker exec -it my_container powershell”在该容器中打开一个交互式 PowerShell 会话,但在该交互式终端中,我无法从外部粘贴任何文本。
说,我想粘贴以下行:
echo (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
使用 [Ctrl]+[V] 仅返回以下内容(与非交互式 docker PowerShell 会话 PowerShell CLI 不同,它可以毫无问题地粘贴文本):
^V
我也试过右键单击控制台背景,或者右键单击控制台窗口标题,然后选择[编辑] > [粘贴]。但是,这只会提供以下损坏和截断的结果:
echo (Get-ItemProperty -Path ?^?^?Registry::HKEY_LOC
如本页所述,我已经尝试将以下几行添加到我的 Dockerfile 中:
WORKDIR "Program Files"
RUN rd /S /Q WindowsPowerShell\Modules\PSReadLine
WORKDIR /
但是,这仅在尝试构建映像时导致以下错误:
Step 11/12 : RUN rd /S /Q WindowsPowerShell\Modules\PSReadLine
---> Running in 95497bbaf4cf
Remove-Item : A positional parameter cannot be found that accepts argument
'/Q'.
At line:1 char:76
+ ... e = 'SilentlyContinue'; rd /S /Q WindowsPowerShell\Modules\PSReadLine
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Remove-Item], ParentContai
nsErrorRecordException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell
.Commands.RemoveItemCommand
所以,我的问题是:是否可以粘贴到在通过 PowerShell 访问的容器中运行的交互式 PowerShell 会话中?或者这是某种“初始”问题——不同系统的分层导致无法正确粘贴的问题?
解决方案
推荐阅读
- c# - 不支持实体框架核心 SQLite 连接字符串关键字:版本
- docker - 从 docker 创建 alpine linux iso - libburn 权限被拒绝
- mysql - 如何构建将利用多个数据源作为其模型的应用程序的数据库?
- javascript - 为什么方法 enumNodeFragments 未定义?
- sql - 如何根据可能更改的日期范围在表格中选择值
- java - 如何在android中构建通知并实现点击监听?
- python - 如何在 Django 的 Inventory 模型中添加多个项目
- php - Laravel 在哪里枢轴
- html - 需要在 SVG 中打勾
- ethereum - Truffle/Ganache:有没有办法设置部署地址?