2017-01-19 3 views
0

Ich möchte meine App in Docker isoliert testen. Ich möchte den App-Code dafür nicht ändern. Meine App ruft den Remote-Server an (z. B. www.example.com). Ich möchte diesen Server spotten (www.example.com). Ich möchte meinen Remote-Server-Mock-Container erstellen und ihn mit meiner App unter docker-compose ausführen. In App sind entfernte URLs nur Konstanten.Umleiten von Containern Remoteaufrufen an andere Hosts

Was ist der beste Weg, dies zu implementieren?

Antwort

0

Der beste Weg, dies zu implementieren, ist, dass die hartcodierten URLs nicht fest codiert sind. Dann können Sie sie durch Umgebungsvariablen in Ihrer Docker-Compose-Datei ersetzen. https://docs.docker.com/compose/environment-variables/

Da Sie jedoch keine Änderungen an der Anwendung vornehmen möchten, können Sie möglicherweise Änderungen an der Datei/etc/hosts vornehmen. Ersetzen Sie die IP-Adresse des alten Servers durch den neuen Server. https://superuser.com/questions/601574/how-do-i-redirect-a-domain-to-another-domain-locally

0

Ich denke, erstellen Sie Ihre Container mit Docker-komponieren. Oder Container mit nur Docker verknüpfen. Nicht sicher, ob dies trotzdem nötig ist.

Dann gehen Sie einfach in Ihren Web-Container, bearbeiten Sie/etc/hosts und map example.com zu Ihrem "anderen Container" ip.

-

Tipp: Sie können die IP des Behälters wie diese:

# get into 
docker exec -it CONTAINER_ID bash 

# consult ip 
[email protected]:/# ip add | grep global 

Oder eine dieser anderen Methoden: http://networkstatic.net/10-examples-of-how-to-get-docker-container-ip-address/

Verwandte Themen