본문 바로가기
Engineering/OS -Linux, Windows, EXSi

[linux][docker] auto-completion 설치로 docker command 자동완성 사용하기

by 알탱2 2023. 5. 31.
반응형

linux OS의 경우 command 작성 시 대부분 기본적으로 bash auto completion이 설치된 상태라 명령어의 앞 부분만 타이핑 후 TAB 키를 활용하여 나머지 명령어를 자동으로 입력할 수 있다.

하지만 docker 기반의 application을 주로 사용하고, docker command를 사용해야할 때 auto completion이 설치되지 않은 상황이 종종 있었는데, 이런 경우 docker에 명령어 자동 완성 기능을 아래와 같이 설치하면 너무 편리하고 빠르게 사용이 가능하다. (특히 container name 또한 앞 부분 일부만 타이핑하면 목록 중 앞 부분이 일치하는 것들만 참고하여 자동완성이 가능하다.)

 

아래 명령어는 Ubuntu 기반이다. (실제 실행 확인 OS : Ubuntu 20.04)

 

 

bash-completion 설치

apt install bash-completion

 

docker command에 적용

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

 

 

/etc/bash.bashrc 와 ~/.bashrc 에 bash_completion 관련 부분 주석 해제

 

(1) /etc/bash.bashrc 파일에서 아래와 같은 부분을 찾아 주석이 되어 있으면 주석을 제거하고 저장

$ vim /etc/bash.bashrc

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

(2) ~/.bashrc 파일에서 아래와 같은 부분을 찾아 주석이 되어 있으면 주석을 제거하고 저장

$ vim ~/.bashrc

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

(3) 수정한 2개 파일을 source 명령어로 적용

$ source /etc/bash.bashrc
$ source ~/.bashrc

 

 

 

 

 

 

 

 

 

* 참고 링크 : https://www.leafcats.com/316  , https://louky0714.tistory.com/157

반응형

댓글