我在我的虚拟Ubuntu机器内的AWS EC2实例的docker容器中运行我的docker镜像,并试图通过我的虚拟Ubuntu机器访问它。我知道,通常情况下,人们会使用web浏览器中的公共域名查看运行中的镜像,但我是通过我的私有IP (而不是我的公共域名)登录到我的EC2实例的。因此,我无法通过我的公共DNS查看我的运行镜像。
我已经在浏览器中尝试了我的私有IP、我的私有IP:8080 (因为docker ps在这个镜像中显示了8080/tcp )和我的公共IP & DNS。私有DNS是答案吗?如果是这样,我该如何让它成为有效的URL呢?
如果我没有提供足够的信息,请让我知道,我一定会这样做的。谢谢你的帮助。
发布于 2018-10-23 00:17:03
我认为你混淆了图像,容器等术语...一点--也许你应该读一读(https://docs.docker.com/get-started/)。
映像是一个可执行包,其中包含运行应用程序所需的所有内容--代码、运行时、库、环境变量和配置文件。
容器是图像的运行时实例--图像在执行时在内存中的变化(即具有状态的图像或用户进程)。
如果您想要从运行容器的docker主机访问容器,您尝试过localhost吗?所以就像这样:
curl http://localhost:8080/
如果它只显示8080/tcp,这很可能意味着您首先需要通过将-p标志添加到docker run命令(https://docs.docker.com/config/containers/container-networking/)来发布端口:
docker run -p 8080:8080 ... image-name
https://stackoverflow.com/questions/52933419
复制相似问题