<aside>
Docker
애플리케이션을 실행하기 위한 컨테이너화 플랫폼
쉽게 말해, 프로그램과 그 프로그램이 필요로 하는 환경(라이브러리, 설정 등)을 한 묶음(컨테이너)로 만들어서 어디서든 동일하게 실행할 수 있게 해주는 도구이다
</aside>
<aside>
장점
컨테이너 기반 가상화
환경 일관성 보장
이미지와 컨테이너
<aside>
컨테이너를 만들기 위한 설계도
애플리케이션, 라이브러리, 환경 설정 등이 포함된다.
</aside>
<aside>
이미지를 기반으로 실제로 실행되는 작동 환경 (이미지는 설계도, 컨테이너는 그 설계도로 만든 집 같은 느낌)
여러 컨테이너를 동시에 띄워서 다양한 버전이나 서비스를 시험할 수 있음
</aside>
<aside>
이미지를 만들기 위한 설정 파일
어떤 OS를 기반으로 하고, 어떤 패키지를 설치할지, 어떤 명령어로 앱을 실행할지 기록
# Python Flask 앱용 이미지 설계도
FROM python:3.11
WORKDIR /app
COPY . /app
RUN pip install flask
CMD ["python", "app.py"]
</aside>
<aside>
이미지 공유 저장소
다른 사람이 만든 이미지를 내려받아 바로 쓸 수 있음
docker pull python:3.11
</aside>
<aside>
| 명령어 | 설명 |
|---|---|
docker run |
이미지로 컨테이너 실행 |
docker ps |
실행 중인 컨테이너 확인 |
docker stop |
컨테이너 종료 |
docker rm |
컨테이너 삭제 |
| </aside> |