同事们,我很难经营我创造的码头形象。我试图封装的应用程序是一个简单的Windows,它通过特定的端口公开WebAPI (REST)。它在本地工作得很好,但在容器里就不行了。我面临以下两个问题:
CMD ["powershell wait-service.ps1 -ServiceName SelfHostService"]
不能工作,因为Docker不喜欢我试图提交的参数。有什么办法可以回避这个问题吗?发布于 2018-06-21 13:17:37
是的,当您的前台进程退出时,停靠容器将退出。如果没有运行,docker认为应用程序已经停止,并关闭了容器。
您没有正确地将参数传递给CMD
命令,有关更多信息,请参见文档。文档中的一些示例
CMD ["executable","param1","param2"] (preferred form)
CMD ["param1","param2"] (ad default parameters to ENTRYPOINT)
CMD command param1 param2 (shell form)
我认为您正在尝试从主机访问localhost:8080/api/welcome
,而不是从容器访问。您只能从容器中访问localhost
。您可以通过在交互模式下运行容器(使用-it
标志),然后访问localhost
来实现这一点。如果您想从您的主机访问您的容器,您需要在您的EXPOSE
中访问端口8080
,然后在docker image
中访问publish port 8080
。这样,您可以使用http://your_hostname:8080/api/welcome
访问api (包括在8080上发布端口8080,例如使用标志-p 8080:8080
)。
https://stackoverflow.com/questions/50968305
复制