是否可以在Linux上运行Windows Containers?该场景基于一个用.NET(旧网)编写的应用程序和想要通过Docker运行它的Linux用户来提供一个书面API .net462
localhost
我正在使用Docker Desktop for Windows的测试版
如果不是,那么为什么Windows可以运行Linux容器而不是反之亦然?
编辑:
一段时间过去了,这个问题很受欢迎.我想在此添加一条说明,解决方法是使用新的netstandard.它允许我将4.6.2
框架打包到新的库中.
linux docker docker-for-windows windows-container docker-desktop
我在AWS中运行现有的Kubernetes Cluster(1.8)并使用KOPS安装了Cluster.但是现在我想将Windows容器添加到现有集群中,而无法获得正确的解决方案:(!
我想到了下面给出的步骤:
https://kubernetes.io/docs/getting-started-guides/windows/
首先,我下载了节点二进制文件并复制到Windows机器(Kubelet,Kube-dns,kube-proxy,kubectl)
但是对于拥有多个网络选项并且他们已经给出kubeadmin选项将节点加入到我的Master中我并不知道,因为我使用Kops来创建我的集群.
有人可以在这里建议或帮助我如何添加我的Windows节点?
我在笔记本电脑上设置了Docker for Windows,并在Docker的设置中从Linux容器切换到Windows容器(这促使了几次重启和Windows更新).我拉了一个图像并使用命令运行基于它的容器:
docker pull microsoft/dotnet-framework
docker run -it microsoft/dotnet-framework cmd
Run Code Online (Sandbox Code Playgroud)
在第二个终端窗口中,我执行了命令:
docker cp app container_id:/
Run Code Online (Sandbox Code Playgroud)
并收到此错误消息:
来自守护程序的错误响应:不支持针对正在运行的Hyper-V容器的文件系统操作
我搜索了这个错误,但没有任何(解释性的)出现,非常令人惊讶.有没有办法在Windows 10上将图像作为Windows容器而不是Hyper-V容器运行?
最终,我将此容器部署到Windows Server 2016主机,但我需要在运行Windows 10 Pro的笔记本电脑上进行所有开发和测试.
Docker版本
Client:
Version: 17.06.0-ce
API version: 1.30
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:30:30 2017
OS/Arch: windows/amd64
Server:
Version: 17.06.0-ce
API version: 1.30 (minimum version 1.24)
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 22:19:00 2017
OS/Arch: windows/amd64
Experimental: true
Run Code Online (Sandbox Code Playgroud) 我的 Windows docker 容器无法解析host.docker.internal,但它可以与 Linux 容器一起使用。我更愿意继续使用 Linux 容器,但我在使用旧的 .Net Framework 4.7.2 应用程序时遇到了问题。
我的应用程序连接到本地计算机上的 RabbitMQ。这在 Linux 容器中按预期工作,但在 Windows 容器中它会抛出此错误:
System.Net.Sockets.SocketException:没有这样的主机已知
我尝试过 ping host.docker.internal。
C:\app>ping host.docker.internal Ping 请求找不到主机 host.docker.internal。请检查名称并重试。
这是我的 dockerFile:
FROM mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019
ARG source
WORKDIR /app
COPY ${source:-SampleApp/obj/Docker/publish} .
ENTRYPOINT ["C:\\app\\SampleApp.exe"]
Run Code Online (Sandbox Code Playgroud)
我使用的是 docker 版本20.10.2和 docker 桌面版本3.1.0。
我在 Windows 10 版本 10.0.18363 上运行。
docker docker-container docker-for-windows windows-container docker-desktop
我正在使用visual studio 2017制作一个docker容器化应用程序.当首先通过visual studio运行docker时,我收到错误"ERROR:客户端版本1.22太旧".
通过将docker compose更新到2.1版来解决此错误
以下链接包含有关此特定错误的进一步说明
解决此错误后,现在在On Building docker上出现"HNS因错误而失败:参数不正确".
从多个github讨论中我发现它是一个Windows网络错误.
有这个问题的解决方案吗?我应该降低docker版本或安装别的东西.
我正在使用Windows容器.在运行docker版本Client:Version:17.06.0-ce API version:1.30 Go version:go1.8.3 Git commit:02c1d87 Built:Fri Jun 23 21:30:30 2017 OS/Arch:windows/amd64
服务器:版本:17.06.0-ce API版本:1.30(最低版本1.24)Go版本:go1.8.3 Git commit:02c1d87 Built:Fri Jun 23 22:19:00 2017 OS/Arch:windows/amd64实验:true
编辑:
如果我切换到linux容器,这个问题就解决了.但另一个问题是驱动器不共享.共享d后:仍然会出现驱动器共享问题.
如何解决Linux容器驱动器共享问题.
我想在本地使用Windows容器,以便我可以在azure上部署此应用程序.
我是码头工人的新手。欢迎任何帮助和提示。
\n环境:
\n我可以毫无问题地运行 hello work 示例。但似乎我无法使用命名管道,无法弄清楚问题是什么。
\n有些人提到命名管道仅适用于 Windows 服务器,但此博客(https://www.docker.com/blog/docker-windows-server-1709/)明确提到支持 Windows 10。
\ndocker版本输出:
\n\xe2\x9d\xaf docker version\nClient:\n Cloud integration: 1.0.17\n Version: 20.10.7\n API version: 1.41\n Go version: go1.16.4\n Git commit: f0df350\n Built: Wed Jun 2 12:00:56 2021\n OS/Arch: windows/amd64\n Context: default\n Experimental: true\n\nServer: Docker Engine - Community\n Engine:\n Version: 20.10.7\n API version: 1.41 (minimum version 1.24)\n Go version: go1.13.15\n Git commit: b0f5bc3\n Built: Wed Jun …
Run Code Online (Sandbox Code Playgroud) 我需要在Windows Docker容器中附加到PATH,并且我尝试了许多排列.
ENV PATH=%PATH%;C:\\Foo\\bin
ENV PATH=$PATH;C:\\Foo\\bin
ENV PATH="%PATH%;C:\Foo\bin"
ENV PATH="$PATH;C:\Foo\bin"
RUN "set PATH=%PATH%;C:\Foo\bin"
Run Code Online (Sandbox Code Playgroud)
这些都不起作用:它们不评估预先存在的PATH变量.
附加到PATH的正确语法是什么?我甚至可以在Docker中附加到PATH吗?(我可以在类似的Linux容器上)
我目前正在尝试运行应该在Windows Server 2016 Datacenter(版本1607,Build 14393.2759)上运行的docker PostgreSQL 10.6.1
容器(Base-Image mcr.microsoft.com/windows/servercore:ltsc2016
).
一切运行正常,包括PostgreSQL initdb
和之后运行的PostgreSQL - 只要PostgreSQL的数据目录不是docker主机上的卷.
如果我尝试运行它将PostgreSQL的数据目录放在命名或绑定卷上,PostgreSQL就可以执行它initdb
但后来无法启动.
我怀疑这个错误是由于挂载的卷symlink
在容器内可见,这取决于mcr.microsoft.com/windows/servercore:ltsc2016
导致PostgreSQL失败.在mcr.microsoft.com/windows/servercore:1809
,此行为已更改 - 已装入的卷看起来像'普通'目录,PostgreSQL可以启动.
由于根本没有有用的错误消息,并且在容器外运行没有持久存储的数据库听起来像一个真正无用的东西,所以任何帮助都是值得赞赏的.
我正在使用的Dockerfile如下所示:
FROM mcr.microsoft.com/windows/servercore:ltsc2016
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
ARG version=10.6-1
RUN [Net.ServicePointManager]::SecurityProtocol = 'Tls12, Tls11, Tls' ; \
Invoke-WebRequest $('https://get.enterprisedb.com/postgresql/postgresql-{0}-windows-x64-binaries.zip' -f $env:version) -OutFile 'postgres.zip' -UseBasicParsing ; \
Expand-Archive postgres.zip -DestinationPath C:\ ; \
Remove-Item postgres.zip ; \
Remove-Item 'C:\pgsql\pgAdmin 4' -Recurse ; \
Remove-Item 'C:\pgsql\StackBuilder' -Recurse …
Run Code Online (Sandbox Code Playgroud) 我需要使用 Docker Windows 容器来运行 Windows 应用程序。我使用 Windows 2019 Server 构建了一个映像,并安装了 x 服务器用于像 ubuntu 映像一样显示,但它不起作用。
那么有没有办法通过 GUI 访问 Windows 容器呢?
是否有支持 GUI 应用程序的 Windows 映像?是否有在 Windows 容器中运行应用程序 GUI 应用程序的解决方案?
我有一台运行 Windows 10 的桌面计算机,运行 Windows 10、Microsoft 365、在 Windows 容器模式下运行的 Docker Desktop。
我有一台运行 Windows Server 2019 的 Amazon EC2 计算机,并且也在那里安装了 Microsoft 365 并通过 RDP 进行访问。
本质上,我想要创建一台 EC2 机器,它允许我运行在 Windows 容器模式下运行的 Microsoft 365 和 Docker 桌面。
我尝试创建 AWS EC2 实例并安装 Docker for Desktop,但遇到很多神秘错误。(见下文)。
我尝试使用 Microsoft 的 AMI 和https://aws.amazon.com/marketplace/server/procurement?productId=d94e0325-6111-4c69-8c29-87e784a6d0aa中内置的 Hyper-V
[或者我应该使用 Docker Enterprise 来实现此目的?]
[或者根本不可能获得一台可以在 AWS 上运行 Docker Windows 容器的 Windows 机器吗?]
[或者我是否需要选择特定类型的机器大小 [t4.large 或其他] - 我之前在 Microsoft Azure 上体验过,运行 Docker Desktop 只能在特定规格的机器上运行,这允许“虚拟化之上的虚拟化” ”]
System.InvalidOperationException:
job failed with message: 'DockerDesktopVM' failed to …
Run Code Online (Sandbox Code Playgroud) docker ×10
amazon-ec2 ×1
containers ×1
dockerfile ×1
hyper-v ×1
kubernetes ×1
linux ×1
named-pipes ×1
postgresql ×1
traefik ×1
windows ×1
windows-10 ×1