2017-03-25 2 views
0

Momentan arbeite ich an einer kleinen GUI für die Verwendung von Docker. Ich benutze dafür electron.js und Vue.js. Da Desktop in Elektron geschriebene Anwendungen Chrome-Anwendungen eingebettet sind, habe ich ein Problem, wenn ich versuche Anfrage zu senden REST API Andockfenster:Docker für Windows REST API - aktivieren CROSS

XMLHttpRequest cannot load http://localhost:2375/containers/json. 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://localhost:9080' is therefore not allowed access 

Nichts Ungewöhnliches, seine verhalte, wie es sollte, da seinen Browser.

Die eigentliche Frage ist, wie CROSS-Anfrage docker REST API zu aktivieren?

Ich verwende Version 17.03.0-ce

+0

Ich glaube, das hängt davon ab, was Sie in Ihrem Docker-Container ausführen. Was auch immer im Container enthalten ist, muss den Header 'Access-Control-Allow-Origin' hinzufügen. Zum Beispiel können Sie [dies für einen Nginx-Server in einem Docker-Container] hinzufügen (https://gist.github.com/michiel/1064640). –

Antwort

1

Der Docker Daemon bietet Optionen CORS-Header für die REST-API zu ermöglichen. Wenn der Daemon starten, versuchen die Fahnen --api-enable-cors und --api-cors-header, zum Beispiel Einstellung:

sudo dockerd --api-enable-cors --api-cors-header=http://localhost:9080 

Die API REST sollte dann die notwendigen Header liefern. Interessanterweise ist --api-enable-cors nicht in der docs dokumentiert, aber dennoch erforderlich.