Run - 생성 및 실행
이미지를 기반으로 컨테이너를 생성 후 실행합니다. docker run을 반복해서 실행해도 생성된 컨테이너는 모두 다른 id를 가집니다.
docker run [설정1] [설정값1] [설정2] [설정값2] ... [이미지 이름]
아래는 명령어와 함께 설정할 수 있는 값들입니다.
| 설정값 | 내용 | 입력 형식 | 비고 |
| -d | detached 모드 : 백그라운드에서 컨테이너가 실행됨 | ||
| -e | 환경 변수 설정 | ||
| -i | interactive 모드 : 터미널을 통해 docker와 상호작용할 수 있음 | ||
| -it | interactive 모드 + pseudo-TTY 모드 | ||
| -p | 포트 포워딩 : 호스트 머신의 [포트1]을 컨테이너의 [포트2]와 매칭 |
-p [포트1]:[포트2] | |
| -t | pseudo-TTY 모드 : 터미널 환경(tty)를 흉내내어 출력값을 깔끔하게 보여줌 |
||
| -u | 사용자 권한 지정 (uid: 사용자 계정 id, gid: 사용자 그룹 id) |
-u [uid]:[gid] | 0:0는 root 사용자를 나타냄 (지양) |
| -v | 볼륨 마운트 : 호스트 머신의 [경로1]을 컨테이너의 [경로2]와 매칭 |
-v [경로1]:[경로2] | |
| --gpus | 컨테이너에 할당할 GPU의 ID | --gpus '"device=n"' | nvidia-docker2 설치가 필요 |
| --name | 컨테이너의 이름 지정 | --name [이름] | |
| --runtime | Docker가 기본적으로 사용하는 runc 런타임이 아닌, 다른 런타임을 지정 |
--runtime=nvidia | nvidia의 경우 NVIDIA 드라이버와 NVIDIA Container Toolkit이 설치되어 있어야 함 |
| --shm-size | 샤드 메모리 크기 설정 | --shm-size=40G | 기본값은 64MB |
Start - 컨테이너 실행
이미 생성한 컨테이너를 실행할 때는 docker start를 사용합니다.
docker start [컨테이너 id | 컨테이너 이름]
Ps - 컨테이너 탐색
현재 실행중인 컨테이너가 어떤 것들이 있는지 확인하려면 docker ps를 사용해야 합니다.

docker ps는 현재 실행중인 컨테이너들에 대해 아래 정보들을 제공해줍니다.
- CONTAINER ID | 컨테이너 고유 ID (짧은 해시)
- IMAGE | 사용된 이미지 이름
- COMMAND | 실행 중인 명령어
- CREATED | 생성된 날짜
- STATUS | 실행 상태 (Up, Exited 등)
- PORTS | 호스트:컨테이너 포트 매핑
- NAMES | 자동 생성되거나 지정한 컨테이너 이름
| 설정값 | 내용 |
| -a | 종료된 것을 포함한 모든 컨테이너 |
| -q | 컨테이너의 id만 출력 |
| -filter [field]=[value] | field의 값이 value인 컨테이너만 출력 |
Exec - 컨테이너 접속
실행중인 컨테이너의 쉘에 접속하려면 docker exec을 사용해야 합니다.
docker exec [컨테이너 id | 컨테이너 이름] [설정] [설정값] [명령어]
예를 들어 명령어 bash를 실행하면 아래와 같이 bash 쉘에 접속할 수 있습니다.

728x90
'Backend' 카테고리의 다른 글
| [Backend][Deploy] Fly.io로 백엔드 배포하기 (0) | 2025.09.12 |
|---|---|
| [Docker] Docker에 대해서 (0) | 2025.07.08 |
| [Backend][Render] Render에 대해서 (0) | 2024.08.28 |
| [API] Pagination (0) | 2024.08.03 |
| [API] API versioning (0) | 2024.08.03 |