pycharm kann die Einrichtung des Remote-Interpreters für Docker nicht abschließen

8

Ich bin neu bei Docker. Ich benutze Docker & amp; docker-compose, durch ein flaschen-tutorial gehen. Das Basis-Docker-Bild ist python 2.7 slim. Es läuft unter Linux. Andockfenster 1.11.2 Die Anwendung funktioniert gut. Ich möchte, dass pycharm pro den Remote-Interpreter verbindet, etwas, das ich noch nie zuvor gemacht habe.

Ich folgte den Anweisungen für docker-compose. Anfangs war es fehlgeschlagen, weil es keine Verbindung zu Port 2376 herstellen konnte. Ich fügte diesen Port zu docker-compose.yml hinzu und der Fehler ging weg. Der Versuch, die Konfiguration zu speichern, stürzt / hängt jedoch mit dem Dialog 'Getting Remote Interpreter Version' ab. Dies wird nie abgeschlossen. Außerdem kann ich nicht mit pycharm aufhören. Dies geschieht in Pycharm 2016.2 und 2016.3 EAP (2.).

Die Hilfe sagt "SFTP Unterstützung wird benötigt, um Helfer auf den Server zu kopieren". Bedeutet das, dass ich etwas tun muss?

    
Tim Richardson 09.10.2016, 07:30
quelle

2 Antworten

7

Ich benutze keine Docker-Maschine Das Problem war, dass TCP-Zugriff auf die Docker-API nicht standardmäßig unter Ubuntu 16.04 eingerichtet ist.

Es gibt Vorschläge zum Aktivieren des TCP / IP-Zugriffs.

Aber JetBrains gab mir die einfachste Lösung:

  

Wenn Sie Linux verwenden, ist es sehr wahrscheinlich, dass Docker mit installiert wurde   Die Standardeinstellungen und Docker erwarten, dass sie unter UNIX verwendet werden   Domain-Datei-Socket /var/run/docker.sock. Und Sie sollten angeben   unix: ///var/run/docker.sock im Feld API-URL. Bitte kommentieren   ob es hilft!

Dieser Vorschlag funktionierte mit meiner von Ubuntu 16.04 abgeleiteten Distribution.

Dies wird in den PyCharm-Einstellungen unter Build, Execution, Deployment in den Docker-Eintrag übernommen.

Sie können dies auch bearbeiten, während Sie einen Remote-Interpreter einrichten, aber nur, indem Sie einen neuen Docker-Eintrag erstellen.

TCP / IP-Methode

Diese Methode funktioniert, wenn Sie TCP / IP-Zugriff wünschen, aber dies ist ein Sicherheitsrisiko. Der Socket-Ansatz ist besser, weshalb wahrscheinlich der Standard ist.

Ссылка

  

docker anpassen

     

Die Docker Systemeinheit kann durch Überschreiben der Einheit angepasst werden   wird mit den Standard-CoreOS-Einstellungen ausgeliefert. Häufige Anwendungsfälle für das Tun   Dies ist im Folgenden beschrieben.

     

Aktivieren Sie die Remote-API auf einem neuen Socket

     

Erstellen Sie eine Datei mit dem Namen /etc/systemd/system/docker-tcp.socket   Docker ist auf einem TCP-Socket an Port 2375 verfügbar.

%Vor%      

Aktivieren Sie dann diesen neuen Socket:

%Vor%      

Testen Sie, dass es funktioniert:

%Vor%

Sobald ich dachte, nach Ubuntu 16.04 zu suchen, stieß ich auf einfachere Lösungen, aber ich prüfte sie nicht.

Zum Beispiel:

Ссылка

  

Bearbeiten Sie die Datei /lib/systemd/system/docker.service

     

Ändern Sie die Zeile, die mit ExecStart beginnt, so aus:

%Vor%      

Wo mein Zusatz ist der "-H tcp: / 0.0.0.0: 2375" -Teil. Speichern Sie die   geänderte Datei. Starten Sie den Docker-Dienst neu:

%Vor%      

Testen Sie, ob die Docker-API wirklich zugänglich ist:

%Vor%
    
Tim Richardson 11.10.2016, 05:44
quelle
2

I - docker-komponieren

Ich denke, PyCharm wird docker-compose up ausführen, haben Sie versucht, diesen Befehl zuerst in Ihrem Terminal auszuführen (von wo% code_% ist)?

Vielleicht, wenn einige Fehler auftreten, erhalten Sie mehr Informationen in Ihrem Terminal.

II - pycharm docker-konfiguration

Andernfalls könnte dies an der Konfiguration Ihrer Docker-Maschine in PyCharm liegen.

Was mache ich, um meinen Rechner zu konfigurieren und um sicher zu sein, dass dieser richtig konfiguriert ist:

1 - Führe docker-compose.yml in deiner Shell aus

2 - Kopieren Sie die URL ohne docker-machine ls

3 - gehe zu pycharm Einstellungen - & gt; tcp:// - & gt; Build, Execution, Deployement - & gt; Docker um einen neuen Server zu erstellen, fülle den Server + field

4 - fügen Sie die zuvor kopierte URL ein, wobei name

beibehalten wird

5 - füllen Sie den Pfad Ihres Computerzertifikats-Ordners

6 - tick https://

7 - Klicken Sie auf Import credentials from Docker Machine - & gt; Ihr Gerät sollte in der Auswahlliste erscheinen

8 - speichere diesen Server

9 - Wählen Sie diesen Server bei der Konfiguration Ihres Remote-Interpreters aus den PyCharm-Einstellungen - & gt; Detect - & gt; Project - & gt; Project Interpreter - & gt; wheel - & gt; add remote oder Docker

10 - Sie sollten einen Servicenamen auswählen können

11 - Speichere deinen neuen Interpreter

11 - Versuchen Sie zweimal, den Test zu starten, manchmal kann es einige Zeit dauern, ihn zu initialisieren

    
Axel Borja 10.10.2016 14:43
quelle

Tags und Links