2014-10-01 10 views

risposta

45

Se hai già homebrewbash-completioninstalled basta installare lo script di completamento finestra mobile nel bash_completion.d

curl -XGET https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker > $(brew --prefix)/etc/bash_completion.d/docker 

Nota: Se non si dispone di homebrew bash-completion installato, follow these instructions di installarlo prima di eseguire la riga sopra .

Nota: il completamento dipende da alcune funzioni definite in debian bash-completion. Pertanto, il solo sourcing dello script di completamento della finestra mobile come descritto in completion/bash/docker potrebbe non funzionare. Se provi a completare docker run (premendo TAB) potresti ricevere un errore come __ltrim_colon_completions: command not found. Ciò significa che non hai installato gli script di completamento bash.

+0

Ho installato 'bash-completion 'e inserito lo script di completamento della finestra mobile nella directory appropriata. Ma ancora il completamento del comando non funziona (non ricevo alcun errore). Devo installare 'bash' anche via homebrew? O funzionerebbe con la bash inclusa con Mavericks? –

+0

Spiacente, il file di completamento della finestra mobile era vuoto poiché il comando curl non è riuscito a causa di un errore del certificato. Funziona ora. –

+1

Il comando ricciolo se si utilizza -XGET invece di -get: ** 'arricciatura della -XGET https://raw.githubusercontent.com/docker/docker/master/contrib/completion/bash/docker> \ 'brew --prefix \' /etc/bash_completion.d/docker'** –

4

Il completamento automatico della finestra mobile non era necessario solo per Mac, ma era anche necessario per i terminali ubuntu/bash.

In Ubuntu

curl -ksSL https://raw.githubusercontent.com/docker/docker/$(docker --version | awk 'NR==1{print $NF}')/contrib/completion/bash/docker |sudo tee /etc/bash_completion.d/docker 

completamento sarà disponibile al successivo login.

Dal suo risultato principale in google ho aggiunto la risposta qui.

0

Giusto per dire: se si utilizza brew: brew install docker farà tutto quello che vi serve. Esso comprende brew link docker che installa il completamento in `brew --prefix`/etc/bash_completion.d/docker stesso argomento, stessa risposta per docker-machine, docker-compose, ecc ...

altro (forse si sta utilizzando Docker Beta (nuovo pacchetto di installazione finestra mobile "più nativa" senza Virtualbox) si ancora aggiungere manualmente, quindi seguire Michael's answer più hanno uno sguardo ai copioni di completamento aggiuntivi per finestra mobile-machine, finestra mobile-composizione e un po 'di shell-helper che vengono gestiti nel 'script' from CodeCorrupt

12

gli script di completamento sono dotati di docker Beta. Voglio che rimangano aggiornati Quindi, su OS X ...

  • installazione di homebrew bash-completion
  • Symlink i file

    find /Applications/Docker.app \ 
    -type f -name "*.bash-completion" \ 
    -exec ln -s "{}" "$(brew --prefix)/etc/bash_completion.d/" \; 
    
+3

Con l'avvento del nuovo Docker nativo su macOS, questa dovrebbe essere la nuova migliore risposta. Grazie! – Damon

8

Il punto d'inciampo per me era che una volta che brew installare bash-competizione, è necessario aggiungere alcune righe nel vostro.bash_profile per caricare una volta che si avvia Terminal:

if [ -f $(brew --prefix)/etc/bash_completion ]; then 
. $(brew --prefix)/etc/bash_completion 
fi 

Fonte: http://davidalger.com/development/bash-completion-on-os-x-with-brew/

Perché io non ho trovato da nessuna parte un passo per passo la documentazione, ho fatto uno script veloce da installare homebrew, bash- completamento e infine gli script di completamento per la finestra mobile. https://github.com/HypnoTheNomad/docker-bash-completion-macos-brew

12

finestra mobile ufficiale per la pagina di Mac ha una sezione al termine bash l'installazione:

https://docs.docker.com/docker-for-mac/#/installing-bash-completion

Se avete completamento Homebrew bash installato:

cd /usr/local/etc/bash_completion.d 
ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion 
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion 
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion