docker - 在 Docker 容器中启动 Windows 服务

标签 docker dockerfile

我正在使用适用于 Windows 的 Docker,并尝试将 Asp.NET MVC 5 转换为容器。剩下的一个障碍是我需要运行 ASPNET 状态服务器。我可以通过交互式终端启动服务,它工作得很好,但无法让容器自动启动服务。我尝试过使用 CMD、ENTRYPOINT 和 RUN,但根据我收集的信息,其中一些只会在构建镜像时执行命令,而不是在容器启动时执行。

我的DOCKERFILE如下

FROM microsoft/aspnet:4.7.1-windowsservercore-1709
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .
CMD powershell -Command \
Set-Service aspnet_state automatic; \
Start-Service -name "aspnet_state"; \

EXPOSE 1433

最佳答案

我没有使用 CMD,而是使用 RUN 将命令提交到镜像,并使用了多个 RUN 命令:

# Enable Session State Server
RUN powershell -Command Set-Service aspnet_state -startuptype automatic 
RUN powershell -Command Stop-Service aspnet_state
RUN powershell -Command Start-Service aspnet_state 
RUN powershell -Command Set-ItemProperty Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters -Name  AllowRemoteConnection -Value 1 

关于docker - 在 Docker 容器中启动 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50043712/

相关文章:

在 docker 容器中构建 react 应用程序时,JavaScript 堆内存不足

ssl - Docker 中 AWS 上 TLS 客户端 (Golang) 的安全证书文件在哪里?

spring - 找不到Java 10 Spring Boot Infinispan org.jgroups.logging.Slf4jLogImpl

amazon-web-services - 为什么 Docker 构建命令在 Elastic Beanstalk 中运行如此缓慢?

linux - Docker-compose:由于 "permission denied"错误,nginx 无法启动

python - Docker 输入文件并保存在输出中

mysql - Windows 7 上的 Docker-compose : how to import a db dump when using a yaml file?

python - 如何在 aws ec2 实例上安装 python3.6

docker - 如何修复 'container runtime is down,PLEG is not healthy'

mysql - docker : accessing MySQL container during Tomcat image build