获取docker容器的ip地址
我有一台ubuntu机器,这是我在其中安装了docker的VM.我在我的本地Windows机器上使用这台机器并执行ssh,打开终端到ubuntu机器. 现在,我将拍摄一个包含所有必要软件的docker镜像,例如:安装在其中的apache.稍后我将部署一个示例应用程序(它是一个Web应用程序,并保存它. 现在,我处于一种混乱的模式,如果它正常运行,如何检查已部署的应用程序.即,包含已部署应用程序的容器的地址是什么. 谁能告诉我如何验证已部署的应用程序.此外,在控制台上打印程序的输出工作似乎很好,因为输出打印,只有我有一些疑问是关于Web应用程序. 最佳答案
有一些可能性来检查您的应用程序是否正在运行.
远程API 正如JimiDini所说,一种可能性是Docker远程API.您可以使用它来查看所有正在运行的容器(这将是您的用例,对吗?),检查某个容器或启动和停止容器. API是一种REST-API,具有多种编程语言绑定(在https://docs.docker.io/reference/api/remote_api_client_libraries/).其中一些非常过时.要从另一台机器使用Docker远程API,我需要显式打开它:
请注意,API现在向全世界开放!在实际情况中,您需要以某种方式保护它(例如,参见http://java.dzone.com/articles/securing-docker%E2%80%99s-remote-api处的示例). Docker PS 要查看所有正在运行的容器,请在主机上运行docker ps.这将列出所有正在运行的容器.如果您没有看到您的应用,则表明它未运行.它还会显示您的应用程序正在公开的端口.您也可以通过远程API执行此操作. 日志 您还可以查看日志.您可以运行docker attach< container id>附加到某个容器上看看它的标准.您还可以运行docker logs< container id>接收Docker日志.我更喜欢将日志写入某个目录,例如所有日志到/ var / log并将此文件夹挂载到我的主机.然后,您的所有日志将最终显示在主机上的/ home / ubuntu / docker-logs中.
一个字到端口和IP 每个容器都将获得自己的IP地址.您可以通过远程API或主机上的Docker直接检查此IP地址.您还可以为容器指定某个主机名(通过将–hostname =“test42”传递给run命令).但是,你大多不需要那样做. 要访问容器中的应用程序,您需要打开容器中的端口并绑定到主机上的端口. 在Dockerfile中,您需要EXPOS运行您的应用程序的端口:
启动容器时,需要将此端口绑定到主机的端口:
现在,您可以在http:// localhost:80或http://127.0.0.1:80上访问您的应用. 如果您的应用程序没有响应,请通过键入docker ps或远程API来检查容器是否正在运行.如果它没有运行,请检查日志以找出原因. (注意:如果您在VirtualBox中运行Ubuntu VM并尝试从Windows机器访问它,请确保您也在VirtualBox中打开了端口!). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |