是否可以在 Windows docker 容器内捕获 tcp 数据包?(使用最终基于microsoft/windowsservercore的图像)
netsh trace start失败了The inbox capture driver could not be started (error=0x800106d9)
New-NetEventSession -CaptureMode SaveToFile -Name cat -LocalFilePath c:\cat.etl失败了A general error occurred that is not covered by a more specific error code
(上下文 - 我正在尝试调试网络问题,在一段时间后,dockerized 应用程序似乎停止通过已建立的连接接收数据。我可以在 docker 主机上运行跟踪并查看转发到容器的数据;我希望能够在容器内执行相同的操作,看看它是否也出现在那里)
我已经使用 Azure CLI(az acs create命令)部署了一个 Kubernetes 集群。集群中的节点正在运行 Windows。
我想关闭并重新启动一个工作节点。
我试图kubectl drain从集群中删除节点。这有效并且节点状态更改为“就绪,调度禁用”
然后我使用 Azure 门户关闭节点。此时节点状态变为'NotReady, SchedulingDisabled'
然后我使用 Azure 门户重新启动节点。但是,节点状态仍为'NotReady, SchedulingDisabled'。我期待它变成“准备好,SchedulingDisabled”,然后能够运行kubectl uncordon以使其再次可用。
在 Kubernetes 集群中关闭和重启节点的推荐流程是什么?
似乎在 Windows 上 Kubernetespause为每个创建的 pod启动一个映像。这个暂停图像的目的是什么?我在哪里可以找到有关它的更多文档?
我试图在Windows容器中启动RabbitMQ并使其运行,但是没有很多运气。我已经将RabbitMQ和Erlang的安装目录复制到了容器中,但是当我尝试运行时erl.exe,beam.smp.dll被告知无法加载。
PS C:\Program Files\erl8.2\bin> .\erl.exe
Unable to load emulator DLL
(C:\Program Files\erl8.2\erts-8.2\bin\beam.smp.dll)
Run Code Online (Sandbox Code Playgroud)
在主机上的相同安装目录上运行相同的命令就可以了。我检查了文件是否存在以及校验和是否匹配。我敢打赌,容器如何加载文件以及主机如何加载文件存在一些细微的差异。我只是不确定从哪里开始寻找。
这很简单.我想用代码检测我的进程是否在windows容器中运行.有一些例子,但它们都是基于linux的容器.
我正在寻找一个独特而明确的docker,它可以用来确定进程是否在容器托管的Windows操作系统内执行而不是其他方面.
我的首选语言是PowerShell,但如果有人指出如何检测,我会将其移植到PowerShell.
我有一个简单的 .NET Core API,它在端口 80 处返回一个简单的 hello world 字符串,我已将其构建到一个可以工作的 docker 容器中。通过 Visual Studio 构建后,我可以在本地以分离模式运行它,但是在我将其上传到 azure 容器注册表并尝试从 azure 容器注册表中拉出容器后,它将不再以分离模式运行,并且会正确退出运行命令后。
注意:在从注册表中提取映像之前,我删除了映像的原始版本。
docker-container asp.net-core-2.0 windows-container azure-container-registry
我有一个小型的.NET Framework 4.6.2应用程序,其中包含一些NuGet包引用。关于执行:docker build -t myapp .我收到错误:Could not resolve this reference.对于每个引用的NuGet包。
我试过了:
RUN ["dotnet", "restore"]以从.csproj恢复软件包:4.6.2如何将NuGet软件包添加到构建过程中?
谢谢你的时间!
Dockerfile:
FROM microsoft/dotnet-framework-build:4.7.1 as build-env
WORKDIR /app
COPY . /app
RUN ["dotnet", "build"]
FROM microsoft/dotnet-framework:4.7.1
WORKDIR /app
COPY --from=build-env /app .
ENTRYPOINT ["MessageProcessor.exe"]
Run Code Online (Sandbox Code Playgroud)
生成步骤中的单个引用的完整错误:
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2041,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "GreenPipes, Version=1.2.1.98, Culture=neutral, PublicKeyToken=b800c4cfcdeea87b, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. …Run Code Online (Sandbox Code Playgroud) 我需要保持我的 Windows 容器处于运行状态,以便我可以使用docker exec.
在 Linux 上,我会启动它以运行sleep infinity, 或tail -f /dev/null. 或者,我可以借用pause.cKubernetes。
这在 Windows 上看起来像什么?
我已经在 Windows 10 上安装了 docker,并为 Windows 容器进行了配置。我无法切换到 Linux 容器。它抛出一些异常。
当我提取 hello-world 图像时,它给出“清单列表条目中没有 windows/amd64 10.0.16299 的匹配清单”消息。这个错误是什么意思?我也尝试过实验模式。我在堆栈溢出上找到了这个解决方案。我也尝试过重新安装 Windows 版 docker,但没有成功。
有人能帮我吗?
我的主机的 IIS 中有一个网站,可以通过http://mysite.local地址访问。我还有一个在此主机上运行的 Windows 容器,我正在尝试使用“curl http://mysite.local”从我的 Windows 容器连接到该网站。
我将向容器的主机文件添加正确的 DNS 条目。为此,我连接到容器的命令 shell 并运行以下命令:
echo 192.168.0.144 mysite.local >> c:\windows\system32\drivers\etc
Run Code Online (Sandbox Code Playgroud)
但控制台显示“访问被拒绝。 ”
基本上,我的问题是:
我正在使用Docker Desktop version 2.3.0.4(46911),正在Engine version 19.03.12使用Windows 10。我已经使用Windows 基础映像
创建了容器,也尝试过。mcr.microsoft.com/windows/servercore:ltsc2019nanoserver:1903
docker ×6
kubernetes ×2
.net ×1
azure ×1
dns ×1
erlang ×1
hosts ×1
powershell ×1
tcp ×1
windows-10 ×1