我已经使用localhost和apache在我的个人mac上的docker容器中部署了一个django应用程序。为此,我使用docker compose和build和up命令。我试图在centos服务器上运行相同的django应用程序,使用本地计算机上生成的docker映像。apache也在服务器端口90上运行。
docker run -it -d --hostname xxx.xxx.xxx -p 9090:9090 --name test idOfImage
如何使用url中的主机名和端口号使用apache访问此容器?任何帮助都将不胜感激。谢谢。
1条答案
按热度按时间laik7k3q1#
从其他容器访问此容器的最佳方法是将两者连接到同一网络并使用容器的
--name
作为dns名称和内部端口(从-p
选项,在这种情况下不严格要求);从容器外部或从其他主机使用主机的ip地址或dns名称和发布的端口(来自容器的第一个端口)-p
选项)。这个
docker run --hostname
选项不是特别有用;唯一需要指定的时间是,如果您有一些仅在具有特定主机名时才运行的魔法许可软件。避免
localhost
在docker上下文中,除了非常特殊的情况,即您知道您正在容器外部的主机系统上运行进程,并且您正试图访问容器的已发布端口或主机上运行的其他服务。不要使用“localhost”作为通用术语,它有一个非常特定的上下文相关的含义(每个进程都认为它在“localhost”上运行)。