อิมเมจของ Docker และชื่อคอนเทนเนอร์เสร็จสมบูรณ์ใน Bash สำหรับ Windows


3

ฉันมีนักเทียบท่าสำหรับ Windows และฉันเพิ่งเริ่มใช้งาน Bash สำหรับ Windows ฉันจัดการเพื่อให้นักเทียบท่าใน bash show container และรูปภาพจาก windows ของฉันโดยเพิ่มบรรทัดต่อไปนี้ใน.bashrcไฟล์ของฉัน:

PATH="$HOME/bin:$HOME/.local/bin:$PATH"
PATH="$PATH:/mnt/c/Program\ Files/Docker/Docker/resources/bin"

(ดังนั้นฉันไม่ได้ใช้apt-get install)

และฉันก็ประกาศชื่อแทน.bashrcเช่นนั้น:alias docker='docker.exe'

ตอนนี้เมื่อฉันพิมพ์docker psมันจะแสดงคอนเทนเนอร์ที่ทำงานบนหน้าต่างของฉัน

ตอนแรกฉันยังไม่เสร็จสิ้นคำสั่งเลย การพิมพ์docker loตามด้วยการกดแท็บไม่ได้ทำอะไรเลย (แทนที่จะทำจนจบdocker logsยกตัวอย่างดังนั้นฉันจึงไปและสะดุดตามคำสั่งต่อไปนี้:

sudo curl -L https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker -o /etc/bash_completion.d/docker

ตอนนี้ฉันมีคำสั่งเสร็จสิ้นแล้ว แต่ยังไม่เสร็จสมบูรณ์สำหรับชื่ออิมเมจและคอนเทนเนอร์

มีวิธีใดที่จะทำให้มันใช้งานได้? ฉันควรติดตั้ง docker โดยตรงบนระบบย่อย ubuntu หรือไม่?

(ฉันไม่แน่ใจว่านี่คือ stackexchange ที่ถูกต้องสำหรับสิ่งนี้หรือ askubuntu ถ้าฉันควรถามที่อื่นโปรดแจ้งให้เราทราบ)

คำตอบ:


1

คุณสามารถติดตั้งZsh :

วางสคริปต์เสร็จในของคุณ/path/to/zsh/completion(โดยทั่วไป~/.zsh/completion/):

$ mkdir -p ~/.zsh/completion
$ curl -L https://raw.githubusercontent.com/docker/compose/1.22.0/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose

รวมไดเรกทอรีในของคุณ$fpathโดยเพิ่มใน~/.zshrc:

fpath=(~/.zsh/completion $fpath)

ตรวจสอบให้แน่ใจว่าcompinitโหลดหรือทำโดยเพิ่มใน~/.zshrc:

autoload -Uz compinit && compinit -i

จากนั้นรีโหลดเชลล์ของคุณ:

exec $SHELL -l


แหล่งต้นฉบับ: https://docs.docker.com/compose/completion/#zsh


ฉันชื่นชมการตอบสนอง แต่ตั้งแต่ถามคำถามนี้ฉันเปลี่ยนไปใช้ Ubuntu ดังนั้นฉันจึงไม่มีวิธีทดสอบว่าใช้ได้หรือไม่ หากใครพบปัญหาเดียวกันและแสดงความคิดเห็นว่ามันใช้งานได้ฉันจะยอมรับคำตอบนี้เป็นคำตอบ :)
maydawn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.