도커 컨테이너 쉘로 접속하는 방법
도커 컨테이너 쉘로 접속하는 방법
도커 컨테이너 쉘로 접속하는 방법
도커(Docker)는 컨테이너화된 애플리케이션을 관리하는 강력한 도구입니다. 도커 컨테이너 내부에서 직접 작업을 수행하거나, 애플리케이션의 상태를 점검하고 싶을 때가 많습니다. 이 글에서는 도커 컨테이너 내부의 쉘에 접속하는 방법에 대해 알아보겠습니다.
1. 도커 컨테이너란?
도커 컨테이너는 도커 이미지를 기반으로 실행되는 독립적인 환경입니다. 각 컨테이너는 자신의 파일 시스템, 프로세스, 네트워크 인터페이스를 가지며, 다른 컨테이너와 격리되어 실행됩니다. 컨테이너 내부에 접속하면 애플리케이션이 실행되고 있는 환경을 직접 확인할 수 있습니다.
2. 컨테이너 내부 쉘에 접속하는 방법
도커 컨테이너 내부에 접속하는 방법은 크게 두 가지로 나눌 수 있습니다: 새로운 컨테이너를 실행하고 접속하는 방법과 실행 중인 컨테이너에 접속하는 방법입니다.
1) 새로운 컨테이너 실행 및 접속
새로운 컨테이너를 실행하면서 동시에 쉘에 접속하려면 docker run
명령어를 사용합니다. 예를 들어, ubuntu
이미지를 기반으로 새로운 컨테이너를 실행하고, bash
쉘에 접속하려면 다음과 같은 명령어를 입력합니다.
docker run -it ubuntu bash
-i
: 인터랙티브 모드로 실행합니다.-t
: TTY(가상 터미널)를 할당합니다.ubuntu
: 사용할 이미지 이름입니다.bash
: 컨테이너에서 실행할 명령어입니다.
이 명령어를 입력하면 새로운 Ubuntu 컨테이너가 생성되고, bash
쉘로 접속하게 됩니다.
2) 실행 중인 컨테이너에 접속
이미 실행 중인 컨테이너에 접속하려면 docker exec
명령어를 사용합니다. 실행 중인 컨테이너에 쉘로 접속하는 방법은 다음과 같습니다.
실행 중인 컨테이너 목록 확인: 먼저 실행 중인 컨테이너를 확인해야 합니다. 다음 명령어를 입력하여 실행 중인 컨테이너 목록을 확인합니다.
docker ps
출력된 목록에서 접속하고자 하는 컨테이너의 이름 또는 ID를 확인합니다.
컨테이너에 쉘로 접속: 다음 명령어로 컨테이너에 접속합니다. 예를 들어, 컨테이너 이름이
my-container
인 경우 다음과 같이 입력합니다.docker exec -it my-container bash
또는 컨테이너 ID를 사용할 수도 있습니다.
docker exec -it <container_id> bash
-i
: 인터랙티브 모드로 실행합니다.-t
: TTY를 할당합니다.bash
: 컨테이너에서 실행할 쉘입니다.
이 명령어를 입력하면 지정한 컨테이너의 쉘에 접속하게 됩니다. 이제 해당 컨테이너 내부에서 명령어를 실행하고, 애플리케이션 상태를 확인할 수 있습니다.
3. 쉘 종류
컨테이너에 접속할 때 사용하는 쉘은 보통 bash
가 일반적이지만, 다른 쉘을 사용할 수도 있습니다. 예를 들어, Alpine Linux 이미지를 사용하는 경우 기본적으로 /bin/sh
가 설치되어 있습니다. 이 경우 다음과 같이 접속할 수 있습니다.
docker run -it alpine sh
4. 컨테이너에서 작업 종료하기
컨테이너 내부에서 작업을 마친 후, 쉘을 종료하려면 exit
명령어를 입력하면 됩니다. 그러면 컨테이너에서 나와 터미널로 돌아갑니다.
exit
실행 중인 컨테이너에서 exit
를 입력하면 해당 컨테이너의 쉘이 종료되지만, 컨테이너 자체는 중지되지 않습니다. 만약 컨테이너를 종료하고 싶다면 docker stop <container_id>
명령어를 사용하면 됩니다.