반응형
Docker 에 대하여
1. 정의
Docker는 애플리케이션 및 실행에 필요한 요소(라이브러리, 시스템 도구, 코드, 런타임 등)를 하나의 컨테이너로 묶어서 어떤 환경에서든 동일하게 실행할 수 있게 해주는 도구이다.
2. 주요 개념
1) 컨테이너
가상화(VM)보다 가벼운 격리 기술로, 애플리케이션을 실행하는 독립적인 환경이다. 호스트 OS의 커널을 공유하면서도 프로세스, 네트워크, 파일시스템을 격리한다.
2) 이미지
컨테이너를 생성하기 위한 읽기 전용 템플릿이다. 애플리케이션 코드, 런타임, 라이브러리, 환경 변수 등이 포함되어 있다.
3) Dockerfile
이미지를 만들기 위한 설명서로, 기본 이미지를 사용할지, 어떤 명령어를 실행할지 등을 정의한다.
2. 기본 명령어
# 이미지 다운로드
docker pull [이미지명]
docker pull [이미지명]:[태그]
위의 명령어는 Docker Hub(또는 다른 레지스트리)에서 이미지를 다운로드하는 명령어다.
# 컨테이너 실행
docker run -d -p 80:80 nginx- docker run
새로운 컨테이너를 생성하고 실행
- -d (detached mode)
백그라운드에서 실행
터미널에 붙지 않고 독립적으로 실행
컨테이너 ID만 출력하고 터미널 프롬프트로 돌아감
- -p 80:80 (port mapping)
포트 포워딩 설정
호스트포트:컨테이너포트 형식
호스트의 80번 포트 → 컨테이너의 80번 포트로 연결
- nginx
사용할 이미지 이름
Docker Hub에서 공식 nginx 이미지를 다운로드
# 실행 중인 컨테이너 확인
docker ps
# 모든 컨테이너 확인
docker ps -a
# 컨테이너 중지
docker stop [컨테이너ID]
# 컨테이너 제거
docker rm [컨테이너ID]
# 이미지 목록 확인
docker images
# 이미지 제거
docker rmi [이미지ID]반응형