2016-10-09 13 views
8

Jestem nowy w Docker. Używam Docker & Docker-Compose, przechodząc przez samouczek z kolbą. Podstawowy obraz dokowania to python 2.7 slim. Działa w systemie Linux. docker 1.11.2 Aplikacja działa poprawnie. Chcę, żeby Pycharm Pro łączył się z tłumaczem zdalnym, coś, czego nigdy wcześniej nie robiłem.Pycharm nie może zakończyć konfiguracji zdalnego tłumacza dla Docker

Postępowałem zgodnie z instrukcjami dotyczącymi tworzenia dokerów. Początkowo nie działał, ponieważ nie mógł połączyć się z portem 2376. Dodałem ten port do docker-compose.yml i błąd zniknął. Jednak próba zapisania konfiguracji powoduje teraz zablokowanie/zawieszenie w oknie dialogowym "Getting Remote Interpreter Version". To nigdy się nie kończy. Nie mogę też zrezygnować z pycharmu. Dzieje się tak w Pycharm 2016.2 i 2016.3 EAP (2).

Pomoc jest następująca: "Obsługa SFTP jest wymagana do kopiowania helperów na serwer". Czy to oznacza, że ​​muszę coś zrobić?

Odpowiedz

7

nie używam Döcker maszynę Problemem było to, że TCP dostęp do API Döcker nie ustalono domyślnie w Ubuntu 16.04.

Istnieją sugestie, aby włączyć dostęp TCP/IP.

Jednak JetBrains dał mi najprostsze rozwiązanie:

Jeśli używasz Linuksa to jest najbardziej prawdopodobne, że Docker zainstalowany domyślnej konfiguracji i Docker spodziewa się być używane przez gniazda plików UNIX domena/var/run/docker.sock. I powinieneś określić unix: ///var/run/docker.sock w polu URL API. Proszę komentarz , czy to pomaga!

Ta sugestia działa z moją dystrybucją z Ubuntu 16.04.

To przechodzi do pozycji Docker w preferencjach PyCharm w obszarze Build, Execution, Deployment.

Możesz edytować to również podczas konfigurowania zdalnego tłumacza, ale tylko przez utworzenie nowego wpisu Docker./Metoda IP

Ta metoda działa

TCP jeśli chcesz otrzymać dostęp TCP/IP, ale jest to zagrożenie bezpieczeństwa. Podejście do gniazda jest lepsze, i prawdopodobnie dlatego jest ono domyślne.

https://coreos.com/os/docs/latest/customizing-docker.html

Dostosowywanie docker

jednostka oknie dokowanym Systemd mogą być dostosowywane przez nadrzędne urządzenie, które statki z domyślnych ustawień CoreOS. Typowe przypadki użycia do wykonania są opisane poniżej.

Włącz zdalne API na nowym gnieździe

Utwórz plik o nazwie /etc/systemd/system/docker-tcp.socket aby Docker dostępny na gniazda TCP na porcie 2375.

[Unit] 
Description=Docker Socket for the API 

[Socket] 
ListenStream=2375 
BindIPv6Only=both 
Service=docker.service 

[Install] 
WantedBy=sockets.target 

Następnie włączyć tę nową gniazdo:

systemctl enable docker-tcp.socket 
systemctl stop docker 
systemctl start docker-tcp.socket 
systemctl start docker 

test, który to działa:

docker -H tcp://127.0.0.1:2375 ps 

Kiedy już szukałem ubuntu 16.04, natrafiłem na prostsze rozwiązania, ale ich nie przetestowałem.

Na przykład:

https://www.ivankrizsan.se/2016/05/18/enabling-docker-remote-api-on-ubuntu-16-04/

Edytuj plik /lib/systemd/system/docker.service

zmodyfikować wiersz zaczynający się od ExecStart wyglądać tak:

ExecStart=/usr/bin/docker daemon -H fd:// -H tcp://0.0.0.0:2375 

Gdzie moje dodanie to część "-H tcp: //0.0.0.0: 2375". Zapisz zmodyfikowany plik . Uruchom ponownie usługę Docker:

sudo service docker restart 

test że API Docker jest rzeczywiście dostępny:

curl http://localhost:2375/version 
2

I - doker-komponować się

myślę pycharm potrwa docker-compose up mają próby uruchomienia tej komendy pierwszy w terminalu (skąd Twój docker-compose.yml jest)?

Może w przypadku pojawienia się błędów uzyskasz więcej informacji w terminalu.

II - pycharm konfiguracja doker

W przeciwnym razie może to być spowodowane konfiguracji urządzenia Döcker w pycharm.

Co zrobić, aby skonfigurować swoją maszynę i być pewien, że ten jeden jest poprawnie skonfigurowane:

1 - uruchomić docker-machine ls w swojej skorupie

enter image description here

2 - kopia wklej adres URL bez tcp://

3 - przejdź do preferencji pycharm ->Build, Execution, Deployement ->Docker ->+, aby utworzyć nowy serwer, wypełnić serwer name pole

enter image description here

4 - wklej wcześniej skopiowany adres URL utrzymaniem https://

5 - wypełnić ścieżkę folderu certyfikaty maszynowe

6 - tick Import credentials from Docker Machine

7 - kliknij Detect -> Twoja maszyna powinna pojawić się na liście wyboru

8 - zachowaj ten serwer

9 - wybierz ten serwer podczas konfiguracji zdalnego tłumacza, od preferencji pycharm ->Project ->Project Interpreter ->wheel ->add remote ->Docker lub Docker Compose

enter image description here

10 - powinieneś być w stanie wybrać nazwę usługi

11 - zapisz swojego nowego tłumacza

11 - spróbuj uruchomić test dwa razy, czasami może to zająć trochę czasu, aby zainicjować

Powiązane problemy