2016-07-09 20 views

risposta

7

Ho installato Docker Beta per Mac e non ho trovato nessuna directory ~/.docker /.

Come accennato in "Docker for Mac vs. Docker Toolbox¶"

Con Docker per Mac, si ottiene solo una VM, e non si riesce esso.
È gestito dall'applicazione Docker per Mac, che include l'aggiornamento automatico per aggiornare le versioni client e server di Docker.

Se avete bisogno di diverse macchine virtuali e desidera gestire la versione del client Docker o server in uso, è possibile continuare a utilizzare docker-machine

Così si vedrà certs in ~/.docker/machine solo se si decide di creare il tuo.

Con la nuova finestra mobile per l'installazione Mac, controllare se ci sono eventuali certificati in /Applications/Docker.app/ (come in /Applications/Docker.app/Contents/Resources)

Se ci si basa sul default HyperKit, allora non c'è bisogno di certificati al fine di contattare la VM con comando docker.
Come illustrato dai commenti seguenti (e dallo OP Kroderia di answer), , la VM predefinita è accessibile solo tramite /var/run/docker.sock.
Come Ellis commenti qui sotto, che possono essere una sfida per alcuni software come PyCharm:

quando (PyCharm) tenta di connettersi produce:

Cannot connect: javax.ws.rs.ProcessingException: 
Could not initialize class org.newsclub.net.unix.NativeUnixSocket" 

Issue 153973 suggerisce:

Ciò è dovuto al fatto che il plugin Docker è in bundle in PyCharm. Potrebbe essere aggiornato manualmente, ma anche con Docker 2.3.1 il problema con l'interprete Docker Python non verrà risolto.
Il prossimo PyCharm 2016.2 EAP con la correzione è in corso.

La soluzione alternativa a socat descritta sarà disponibile nel prossimo PyCharm 2016.2 EAP. Il prossimo EAP verrà rilasciato presto con la versione aggiornata del plugin Docker.

socat TCP-LISTEN:2375,reuseaddr,fork UNIX-CONNECT:/var/run/docker.sock 
+0

Non sembrano essere ovunque all'interno di Docker.app. Ho lo stesso problema dell'integrazione con OP - PyCharm, nel mio caso. – Ellis

+0

@Ellis hai dichiarato di creare una VM o connettersi alla VM Hyper-V (per la nuova)? Hai fatto una 'docker-machine ls', o' docker-machine ssh default'? – VonC

+0

Nessuna macchina è elencata sotto la finestra mobile macchina ls e la finestra mobile ssh visualizza "Host non esiste:" default "". Ma è chiaro che Docker per Mac VM è in esecuzione, poiché i container docker sono in esecuzione tramite docker-compose. – Ellis

7

@VonC prende la migliore risposta.

Voglio solo fornire la mia soluzione su questa domanda. La domanda riguarda l'utilizzo di una connessione per gestire la finestra mobile. In effetti sto usando Docker Integration in IntelliJ.

  1. Come accennato in Docker for Mac vs. Docker Toolbox

Al momento dell'installazione, Docker per le disposizioni Mac un HyperKit VM basata su Alpine Linux, in esecuzione Docker del motore. Espone l'API finestra mobile su un socket in /var/tmp/docker.sock

Tuttavia, non è la verità, il vero e proprio percorso socket è /var/run/docker.sock. Ora puoi utilizzare unix:///var/run/docker.sock come URL dell'API in Docker Integration, non sono necessari i file del certificato.

  1. indovinate, Docker Integration ver 2.2. *, Che opera nel build stabile (2.016,1), non è riuscito con il collegamento UNIX in Mac, ma ho fissato in ver 2.3.1, che funziona nella versione di anteprima (2016.2). Il che significa che se vuoi farlo funzionare correttamente, dovrai aggiornare IntelliJ alla build di anteprima e installare il nuovo plug-in.

  2. Ecco la cosa peggiore. Il Docker Integration ver 2.3.1 ha NullPointerException quando si distribuisce il Dockerfile, che funziona nella versione stabile di IntelliJ e Docker Integration ver 2.2. * Tramite la connessione http. Ho inviato una mail all'autore del plugin e in attesa di una soluzione furthur.

+0

Ben avvistato sul lato presa. +1 – VonC

+3

2.3.2 Plug-in Docker, PyCharm build 162.1237.1. Ora ti informa di eseguire il comando socat ... quando provi a inserire unix: ///var/run/docker.sock come l'URL dell'API. Dopo aver fatto ciò (e puntato l'URL su localhost) il server si connette al sistema Docker Beta e ti permette di selezionare un'immagine. Tuttavia, rimane bloccato 'in attesa di connessione' durante la connessione al debugger. Si avvia il contenitore e dentro se eseguo ps aux vedo python -u /opt/.pycharm_helpers/pydev/pydevd.py --multiproc --qt-support --client 10.0.2.2 --port 61276 --file/opt /project/app.py. C'è anche il file, qualche puntatore? – LaserJesus

+1

@LaserJesus ti auguro una buona fortuna per far funzionare PyCharm con Docker per Mac? –