我已经成功使用 localhost 和 Apache 在我个人 Mac 上的 docker 容器内部署了 Django 应用程序。为此,我将 docker-compose 与 build 和 up 命令一起使用。我正在尝试使用本地计算机上生成的 docker 镜像在 CentOS 服务器上运行相同的 Django 应用程序。 Apache 也在服务器上的端口 90 上运行。
docker run -it -d --hostname xxx.xxx.xxx -p 9090:9090 --name test idOfImage
如何使用 URL 中的主机名和端口号通过 Apache 访问此容器?任何帮助将不胜感激。谢谢。
最佳答案
从其他容器访问此容器的最佳方法是将两者连接到同一网络并使用容器的 --name
作为 DNS 名称和内部端口(-p
选项,本例中并不严格要求);从容器外部或其他主机使用主机的 IP 地址或 DNS 名称和已发布的端口(-p
选项中的第一个端口)。
docker run --hostname
选项并不是特别有用;唯一一次您想要指定它的情况是,如果您有一些神奇的许可软件,并且该软件仅在具有特定主机名的情况下运行。
避免在 Docker 上下文中使用 localhost
,除非您知道您正在容器外部的主机系统上运行进程并且您正在尝试访问容器的已发布端口的非常特殊的情况或主机上运行的其他一些服务。不要使用“localhost”作为通用术语,它具有非常具体的上下文相关含义(每个进程都认为它在“本地主机”上运行)。
关于python - 访问Centos服务器上的Docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51830831/