DevSecOps/Containerization(k8s)
도커(Docker) 필수 명령어 정리
봉의일상
2025. 2. 7. 00:04
도커(Docker)는 컨테이너 기반 가상화 기술로, 개발 환경을 구축하고 애플리케이션을 배포하는 데 필수적인 도구입니다. 도커를 사용하려면 여러 가지 명령어를 익혀야 하며, 특히 이미지 관리, 컨테이너 실행, 빌드 및 시스템 관리 관련 명령어는 실무에서 자주 사용됩니다.
이 글에서는 도커를 사용할 때 반드시 알아야 할 주요 명령어들을 정리하고, docker run 명령어의 다양한 옵션까지 함께 살펴보겠습니다.
1. 이미지 관련 명령어
도커의 이미지는 컨테이너를 실행하는 데 필요한 모든 요소(코드, 런타임, 라이브러리 등)를 포함하고 있습니다.
- 이미지 목록 확인:
docker images
- 이미지 검색:
docker search <이미지 이름>
- 이미지 다운로드(Pull):
docker pull <이미지명:태그>
- 이미지 삭제:
docker rmi <이미지 ID 또는 이름>
- 사용하지 않는 이미지 정리:
docker image prune
2. 컨테이너 관련 명령어
도커 컨테이너는 실행 중인 애플리케이션의 인스턴스입니다. 컨테이너를 생성, 실행, 중지하는 명령어들을 살펴봅니다.
- 컨테이너 생성 및 실행:
docker run <옵션> <이미지명>
- 실행 중인 컨테이너 목록 확인:
docker ps
- 모든 컨테이너 목록(중지된 컨테이너 포함) 확인:
docker ps -a
- 컨테이너 중지:
docker stop <컨테이너 ID>
- 컨테이너 시작:
docker start <컨테이너 ID>
- 컨테이너 재시작:
docker restart <컨테이너 ID>
- 컨테이너 삭제:
docker rm <컨테이너 ID>
3. docker run의 주요 옵션 정리
docker run 명령어는 컨테이너를 실행할 때 사용하는 가장 중요한 명령어 중 하나입니다. 다양한 옵션을 활용하면 컨테이너 실행 방식을 세밀하게 제어할 수 있습니다.
-d | 백그라운드에서 컨테이너 실행 (detached mode) |
--name <이름> | 컨테이너에 사용자 정의 이름 지정 |
-p <호스트 포트>:<컨테이너 포트> | 컨테이너의 포트를 호스트에 바인딩 |
-v <호스트 디렉터리>:<컨테이너 디렉터리> | 볼륨을 마운트하여 데이터 유지 |
--rm | 컨테이너 종료 시 자동 삭제 |
-e <환경변수>=<값> | 컨테이너 내부에서 사용할 환경변수 설정 |
--network <네트워크명> | 특정 네트워크에 컨테이너 연결 |
--memory <메모리 크기> | 컨테이너의 메모리 사용량 제한 |
--cpus <CPU 개수> | 컨테이너의 CPU 사용량 제한 |
4. 빌드 및 기타 명령어
- Dockerfile을 사용해 이미지 빌드:
docker build -t <이미지명:태그> <Dockerfile 경로>
- 컨테이너를 이미지로 저장:
docker commit <컨테이너 이름> <새 이미지명>
- 도커 버전 확인:
docker version
- 도커 시스템 정보 확인:
docker info
마무리
위에서 정리한 명령어들은 도커를 사용할 때 가장 기본적이면서도 필수적인 기능들입니다. 컨테이너 환경을 더욱 효율적으로 관리하려면 각 명령어의 다양한 옵션을 이해하고 활용하는 것이 중요합니다.
다음 글에서는 Docker Pointainer 같은 GUI 툴 활용법과 메모리 제한, 네트워크 설정 등 컨테이너 최적화 기법을 다뤄보겠습니다.