티스토리 뷰
728x90
반응형
Docker 컨테이너가 실행 중일 때 패키지를 추가 설치하거나 디버깅 등 컨테이너에서 직접 작업을 해야할 때가 있다.
이럴 때는 컨테이너의 쉘에 직접 접근하여 명령하는 방법을 사용할 수 있다.
1. 실행 중인 Docker 컨테이너 확인
- 먼저 Docker에서 실행 중인 컨테이너 목록을 통해 접근하고 싶은 컨테이너 ID를 확인한다.
- 아래 명령어는 현재 실행 중인 모든 컨테이너의 정보를 볼 수 있다.
docker ps
- -a 옵션을 달면 정지된 컨테이너를 포함한 모든 컨테이너를 확인할 수 있다.
2. docker exec 명령어로 컨테이너 접근
- docker exec 명령어를 통해 실행 중인 컨테이너의 쉘에 직접 접근할 수 있다.
- 이 명령어를 사용하면 새 프로세스를 시작하여 컨테이너 내부에서 명령어를 실행한다.
- 기본 명령어 형식
docker exec -it <container_id_or_name> <shell>
- -i: 상호작용(interactive) 모드를 활성화하여 입력을 받을 수 있게 합니다.
- -t: 가상 터미널을 활성화합니다.
- <container_id_or_name>: 접근하고자 하는 컨테이너의 ID 또는 이름을 입력합니다.
- <shell>: 실행할 쉘 유형을 지정합니다. 일반적으로 /bin/bash나 /bin/sh가 사용됩니다.
1) bash 쉘 접근
- 컨테이너가 bash를 지원하는 경우 사용 가능하다.
docker exec -it <container_id_or_name> /bin/bash
2) sh 쉘 접근
- sh만 지원하는 경우는 다음과 같이 사용 가능하다.
docker exec -it <container_id_or_name> /bin/sh
- 컨테이너 내부에 진입하면 일반적인 리눅스 쉘과 같은 환경에서 명령어를 사용할 수 있다.
- 여기서 필요한 파일을 수정하거나, 로그를 확인하거나, 환경 설정을 변경할 수 있다.
3) docker-compose exec 명령어로 bash 접근
docker-compose exec <yaml 파일 내 서비스 이름> bash
# app 컨테이너에 접근
docker-compose exec app bash
docker-compose exec app sh
3. 컨테이너 쉘 종료
- 작업을 완료했다면, exit 명령어로 쉘을 종료하고 빠져나올 수 있다.
exit
728x90
반응형
'Study > Docker' 카테고리의 다른 글
[Docker] docker-compose down 시 데이터 손실 방지 (0) | 2024.10.27 |
---|---|
[Docker] 실행 중인 컨테이너에 패키지 설치하기 (0) | 2024.10.25 |
[Docker] Docker Compose 서비스 종료 및 리소스 삭제(down) (1) | 2024.10.25 |
Docker 실행하면서 마주한 에러 모음 (2) | 2024.10.25 |
[Docker] Docker Compose로 Django 프로젝트 환경 구성 (0) | 2024.10.25 |
댓글