将容器远程调用重定向到其他主机

时间:2017-01-19 11:53:47

标签: docker integration-testing docker-compose

我想在孤立的码头工具中测试我的应用。我不想为此更改应用代码。我的应用程序调用远程服务器(例如www.example.com)。我想模拟这个服务器(www.example.com)。我想创建我的远程服务器模拟容器并使用docker-compose中的应用程序运行它。在app远程网址只是常量。

实施此方法的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

实现此目的的最佳方法是使硬编码的网址不是硬编码的。然后,您可以在docker-compose文件中用环境变量替换它们。 https://docs.docker.com/compose/environment-variables/

但是,由于您不想对应用程序进行任何更改,因此您可以在/ etc / hosts文件中进行一些更改。用新服务器替换旧服务器的ip-address。 https://superuser.com/questions/601574/how-do-i-redirect-a-domain-to-another-domain-locally

答案 1 :(得分:0)

我想用docker-compose创建你的容器。或者仅使用docker链接容器。无论如何还不确定是否需要这样做。

然后,只需进入您的Web容器,编辑/ etc / hosts并将example.com映射到您的“其他容器”ip。

-

提示: 您可以像这样获取容器的IP:

# get into
docker exec -it  CONTAINER_ID bash

# consult ip
root@2e23d01384ac:/# ip add | grep global

或使用以下任何其他方法: http://networkstatic.net/10-examples-of-how-to-get-docker-container-ip-address/