[Docker] 컨테이너 안에서 터미널 쓰기!

1. docker exec

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Code language: CSS (css)

출처 : https://docs.docker.com/engine/reference/commandline/exec/

docker exec를 사용하면 특정한 컨테이너의 내부에서 명령어를 실행시킬 수 있다.

#docker exec 컨테이너이름 명령어

docker exec 컨테이너이름 pwd
docker exec 컨테이너이름 ls
docker exec 컨테이너이름 cd
Code language: CSS (css)

하지만 딱 보기에도 번거롭다.

명령어를 입력할 때마다 docker exec를 반복해서 입력해야 한다.

docker exec -it 컨테이너이름 /bin/sh
# interactive 옵션으로 shell을 실행시킨다!
# 탈출은 exit 입력
# bash 사용가능! zsh은?
Code language: PHP (php)
  • --interactive , -i : Keep STDIN open even if not attached. 사용자가 입출력을 할 수 있다.
  • --tty, -t : Allocate a pseudo-TTY. pty를 할당한다.

tty

: TeleTYpewriter. 컴퓨팅에서 표준 입력에 연결된 터미널의 이름을 출력하는 유닉스, 유닉스 계열 운영 체제의 명령어이다.

pseudo-TTY

: A device that has the functions of a physical terminal without actually being one. Created by terminal emulators such as xterm.

출처 : https://docs.docker.com/engine/reference/commandline/exec/

출처 : https://unix.stackexchange.com/questions/21147/what-are-pseudo-terminals-pty-tty


댓글 남기기