docker 远程连接到对接的IIS

1aaf6o9v  于 2023-01-16  发布在  Docker
关注(0)|答案(3)|浏览(224)

我在Windows Server 2016上从官方映像(https://hub.docker.com/r/microsoft/iis/)运行了IIS
是否有任何方法可以从IIS管理器连接到该IIS,以便我可以通过GUI访问该IIS?

h22fl7wq

h22fl7wq1#

我没有解决方案,但我有一个建议:
Docker背后的核心概念是你所有的应用程序配置都被表达为代码。我建议创建一个Dockerfile(每个服务一个),它使用FROM microsoft/iis并在其中配置站点,包括所有站点文件。这确保了无论你创建的映像在哪里启动,它都会完全按照你的设计运行。
Docker是一个范式的转变,我不建议期望事情完全像以前那样工作。

tkclm6bt

tkclm6bt2#

使用以下Docker文件:

FROM mcr.microsoft.com/windows/servercore/iis

SHELL [ "powershell" ]

#setup Remote IIS management
RUN Install-WindowsFeature Web-Mgmt-Service; \
    New-ItemProperty -Path HKLM:\software\microsoft\WebManagement\Server -Name EnableRemoteManagement -Value 1 -Force; \
    Set-Service -Name wmsvc -StartupType automatic;

#Add user for Remote IIS Manager Login
RUN net user iisadmin Password~1234 /ADD; \
    net localgroup administrators iisadmin /add;

使用docker build -t iisremote .构建
使用docker run --name remoteiis -d iisremote运行它
使用docker inspect --format '{{ .NetworkSettings.Networks.nat.IPAddress }}' remoteiis获取容器的IP地址
使用上面选择的IP地址连接到IIS中的容器

以及停靠文件中使用的用户名和密码

如果IIS中没有连接到服务器的选项,则需要从here安装IIS远程管理管理器。有关详细信息,请参阅this serverfault question。

备注

当我尝试直接从IIS映像创建一个容器(没有本地dockerfile),使用终端连接到容器,并直接在容器终端中运行相同的powershell命令(在上面的dockerfile中)时,它不起作用。

来源

https://devblogs.microsoft.com/premier-developer/iis-remote-management-for-docker-containers/

o7jaxewo

o7jaxewo3#

有一个解决方案,它包含以下部分:1.您需要在容器映像中创建本地用户名/密码2.您需要安装IIS配置工具https://github.com/artisticcheese/artisticcheesecontainer/wiki下面的演练中提供了详细说明

相关问题