python - 访问Centos服务器上的Docker容器

标签 python mysql django apache docker

我已经成功使用 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/

相关文章:

python - 我如何使用 rabbitmq-delayed-message-exchange 插件在 rabbitmq 中发送延迟消息?

mysql - 在 Rails 5/mysql 中制定左连接查询时出现的问题

python - 处理与 Django 中的应用程序无关的静态文件

python - 为什么我的 django 元素中的 css 不呈现?

python - 使用 Python 和正则表达式计算文本中的标点符号

python - Pandas :在数据框中创建一个新列,该列是滚动窗口的函数

python - 如何用django创建一个私有(private)下载区?

php - 在mysql中使用变量作为参数

php - 如何使用php格式化数据库中的日期

Django 查询 Count 始终返回 0