加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

amazon-web-services – 无法在Windows IIS Docker容器中启动交

发布时间:2020-12-16 03:42:34 所属栏目:安全 来源:网络整理
导读:我正在使用AWS“带有容器的Windows Server 2016 Base”映像(ami-5e6bce3e). 使用docker info我可以确认我有最新的(服务器版本:1.12.2-cs-ws-beta). 从Powershell(以管理员身份运行),我可以在交互模式下成功运行“microsoft / windowsservercore”容器,连接

我正在使用AWS“带有容器的Windows Server 2016 Base”映像(ami-5e6bce3e).

使用docker info我可以确认我有最新的(服务器版本:1.12.2-cs-ws-beta).

从Powershell(以管理员身份运行),我可以在交互模式下成功运行“microsoft / windowsservercore”容器,连接到容器中的CMD:

docker run -it microsoft/windowsservercore cmd

当我尝试以交互模式运行“microsoft / iis”容器时,虽然我能够连接到IIS(通过浏览器),但我从未连接到容器中的交互式CMD会话.

docker run -it -p 80:80 microsoft/iis cmd

相反,我只是得到:

Service ‘w3svc’ started

使用另一个Powershell窗口,我可以:

docker container ls

…并看到我的容器正在运行.

试图附加锁定而永不返回.

我已经切换了区域,发现每个区域都有不同的AMI:

> us-east-1:ami-d08edfc7
> us-west-2:ami-5e6bce3e

……这两个都有相同的结果.

使用的相关链接:

> AWS announcement and simple Docker example
> MSDN simple Docker example
> MSDN IIS Docker example

更新

使用以下链接,我能够基于服务器基础创建自己的Dockerfile并安装IIS,这似乎工作正常.

custom Dockerfile

最佳答案
这不是AWS AMI的问题,这是由于Microsoft IIS Dockerfile编写/成为Docker新手的方式.

Link to Microsoft’s IIS DockerFile

最后一行(第7行):

ENTRYPOINT ["C:ServiceMonitor.exe","w3svc"]

Difference between CMD and ENTRYPOINT

因此,由于此Dockerfile使用ENTRYPOINT,要启动交互式PowerShell会话,请使用以下命令:

docker run --entrypoint powershell -it -p 80:80 microsoft/iis

请注意,似乎“–entrypoint”标志需要在运行后,因为这不起作用:

docker run -it -p 80:80 microsoft/iis --entrypoint powershell

Here is another reference link regarding ENTRYPOINT and CMD differences

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读