问题标签 [docker-desktop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Docker for windows - 无法连接到默认 iis 站点
我有一个运行 microsoft/iis 基本映像的 windows 容器,带有适用于 Windows 的 Docker Desktop
我使用以下内容构建了图像:
命令:
文件:
来自微软/iis
曝光 8080'
然后我使用以下命令运行容器:
命令:
我得到了容器的 IP 地址(例如 172.18.167.181)
添加了一条路线:
命令
然后尝试使用以下 url 连接到容器:
我期待看到默认的 IIS 网页,但我得到的是:
尝试检索 URL 时遇到以下错误: > > > http://172.18.167.181:8080/
连接到 172.18.167.181 失败。
系统返回:(110)连接超时
远程主机或网络可能已关闭。请重试该请求。
但是,当我 ping ip 地址时,它似乎找到了容器:
用 32 字节的数据 ping 172.18.167.181:
来自 172.18.167.181 的回复:bytes=32 time<1ms TTL=128
来自 172.18.167.181 的回复:bytes=32 time<1ms TTL=128
来自 172.18.167.181 的回复:字节=32 时间=1ms TTL=128
来自 172.18.167.181 的回复:bytes=32 time<1ms TTL=128
172.18.167.181 的 Ping 统计信息:
数据包:发送 = 4,接收 = 4,丢失 = 0(丢失 0%),以毫秒为单位的近似往返时间:
最小值 = 0 毫秒,最大值 = 1 毫秒,平均值 = 0 毫秒
powershell - 如何读取 Dockerfile 中的 Powershell 变量?
我正在为 Windows映像构建 Docker Desktop。我尝试将变量传递给 Powershell 命令,但它不起作用。
Dockerfile
Docker 构建
预期结果
我可以通过使用 ENV 变量和可能的多阶段构建来解决此问题,以避免保留此变量:
c# - 修复 Docker 的 IP
我有几个微服务,每个都有一个单独的 Docker 容器。它在 CS 2017, Docker Desktop for Windows中。这些服务使用 Docker 分配的 IP 地址相互通信。问题是,在调试模式下,Visual Studio 中的项目每次我更改某些内容并构建项目时,docker 的 IP 都会发生变化,所以我必须通过代码并更改 IP,无论如何要修复 IP 或使用静态IP?
docker - 如何使用 Docker Desktop for Windows 从主机连接到 Cassandra
我正在寻找一个开发测试环境,虽然我已经完成了大部分设置,但我很难从主机(运行 Visual Studio)连接到 docker 中的 Cassandra 集群(使用Docker Desktop for Windows)。我猜我只是弄乱了配置设置和/或缺少设置;但无法确定如何使这项工作(它确实适用于单个节点;只是不是多个节点,这是我想要使用的)
我有什么设置:
docker run --name tnode1 -d -e CASSANDRA_CLUSTER_NAME=tcluster -e CASSANDRA_DC=TDC1 -e CASSANDRA_RACK=TRAC1 -e CASSANDRA_BROADCAST_ADDRESS=10.0.75.2 -e CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch cassandra
我也尝试过使用 -p 开关
docker run --name tnode1 -d -p 9042:9042 -e CASSANDRA_CLUSTER_NAME=tcluster -e CASSANDRA_DC=TDC1 -e CASSANDRA_RACK=TRAC1 -e CASSANDRA_BROADCAST_ADDRESS=10.0.75.2 -e CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch cassandra
如果我将数据放入其中,然后从 Visual Studio 连接到 10.0.75.2,这似乎是可行的,一切都按我的预期工作。当我去添加另一个节点时,问题就来了。
我尝试了多种方法,但似乎它们都以第二个音符启动然后退出并且从未加入集群而告终。如果我在设置 tnode1 时遗漏了 CASSANDRA_BORADCAST_ADDRESS,那么集群可以工作,但我无法从 Visual Studio 访问它。
第二节点(一般信息)
docker inspect -f '{{ .NetworkSettings.IPAddress }}' tnode1 返回 172.17.0.2 docker exe -it tnode1 nodetool status 的地址为 10.0.75.2
第二个节点(尝试 1)
docker run --name tnode2 -d -e CASSANDRA_CLUSTER_NAME=tcluster -e CASSANDRA_DC=TDC1 -e CASSANDRA_RACK=TRAC1 -e CASSANDRA_SEEDS=172.17.0.2 ca ssandra 结果:运行 nodetool 状态不显示 tnode2 ... running docker ps -a状态显示“Exited (3) 30 seconds ago”
第二个节点(尝试 2)
docker run --name tnode2 -d -e CASSANDRA_CLUSTER_NAME=tcluster -e CASSANDRA_DC=TDC1 -e CASSANDRA_RACK=TRAC1 -e CASSANDRA_SEEDS=10.0.75.2 ca ssandra 结果:运行 nodetool 状态不显示 tnode2 ...正在运行 docker ps -a状态显示“Exited (3) 28 seconds ago”
似乎种子值没有连接,然后新节点因此停止。同样,如果我取出广播地址,则节点创建工作,但我无法从主机连接;我尝试在创建 tnode1 时添加侦听器地址和 -p 参数,但结果相似。
任何帮助将不胜感激。
docker - 适用于 Windows 的 Docker Desktop:此系统上不存在管理程序
我是Docker Desktop for Windows 的新手。当我按照这个尝试 hello world 示例时出现错误。更新
以下是我遵循的步骤:
2我的 Windows 10 上已启用 Hyper-V 和虚拟化
但是,切换到 Linux 容器时出现以下错误:
发生错误。必须在 BIOS 中启用硬件辅助虚拟化和数据执行保护。请参阅https://docs.docker.com/docker-for-windows/troubleshoot/#virtualization-must-be-enabled
请注意这篇文章中的问题是在使用 Windows 容器时发生的。第 3 步是使用 Windows 容器,而不是 Linux。
系统信息如下:
Windows 10 专业版 1709
任何想法?
更新:
更新 2
仍然得到同样的错误,知道吗?
docker - Docker:为什么在 Windows 上使用 Linux 容器?
我使用 Win 10 Pro N(版本 1709)作为开发机器,使用 Windows Server 2016 Standard(版本 1607)作为生产服务器。
我目前正在开发一个使用 MongoDb 作为数据库的 ASP.NET Core 2 应用程序。
几天前,我第一次偶然发现了将 MongoDb 作为 Docker 映像运行的想法。
到目前为止,我对 Docker 没有任何经验,但我设法从 Linux 容器(默认)切换到Windows 机器上的 Windows 容器。
这是一个好的决定吗?或者我有什么理由在我的场景中使用 Linux 容器而不是 Windows 容器?
例如,如果我决定在某个时候将我的应用程序部署到 Linux 服务器上怎么办?在这种情况下,从一开始就使用 Linux 容器会更明智吗?
docker - RabbitMQ Docker 容器错误:读取 /var/lib/rabbitmq/.erlang.cookie 时出错:eacces
我rabbitmq
在 Windows Server 1709(Windows Server 核心版)上的 Docker 中运行时遇到问题。
我正在使用 docker-compose 创建 rabbitmq 服务。如果我在本地计算机上运行 docker-compose,一切正常。当我在 Windows 服务器上运行 docker-compose 时(其中 docker 已设置为 windows 上的 docker lcow 支持),我在日志中多次出现上述错误。即这个错误是:
读取 /var/lib/rabbitmq/.erlang.cookie 时出错:eacces
值得注意的是,即使我只是手动拉取 rabbitmq 并手动运行,我也会收到此错误 docker run -itd --rm --name rabbitmq rabbitmq:3-management
在它崩溃并退出之前,我可以在容器中猛击一会儿,然后我看到以下内容:
在我的本地主机上,权限如下所示(正确):
我不明白为什么服务器上的权限结构被破坏了。
这是否可能是 Windows Server 1709 与 Docker for Windows 上的 LCOW 支持的问题?还是rabbitmq的问题?
此处参考使用的 docker compose 文件:
此处参考是发生错误的 docker 信息。
docker info
docker version
asp.net - Docker Windows Container 403 - 禁止访问:拒绝访问
我在我的 中使用以下脚本创建了一个图像Dockerfile
,但是当我使用容器的 IP 地址和端口(2000)浏览时,我得到一个 403 - Forbidden: Access is denied。我正在使用 Windows 10.0.14393 Build 14393, Docker Desktop for Windows。该项目是一个包含 Nancy、Entity Framework、AngularJS 和 SQL Server 项目的 ASP.NET 解决方案。我是否需要对我的 IIS、Docker、Powershell 等进行任何配置更改?我的 Dockerfile 脚本是:
docker - 詹金斯 + 码头工人 + Windows
我目前正在Jenkins 2.89.3
使用Docker 17.12.0-ce-win47
Linux 容器在 Windows 10 上运行。
我正在尝试运行以下 Jenkins 文件
但是,我在 Jenkins 中收到以下错误:
我应该怎么办?