티스토리 뷰
2025.06.29 - [Docker & AWS] - [Docker 1] Docker의 장점과 Image
[Docker 1] Docker의 장점과 Image
https://hub.docker.com/_/docker docker - Official Image | Docker HubDocker Official Images are a curated set of Docker open source and drop-in solution repositories. Why Official Images? These images have clear documentation, promote best practices, and ar
up-one-coding.tistory.com
Container은 지난 시간 알아본 Docker Image을 Run 하면 생성되는 일종의 별도 서버입니다. Image을 실행한 인스턴스로써 상태 변화가 가능하고 중지 및 재시작, 삭제가 가능한 것이 Container의 특징입니다.
비유하자면, Docker Image는 클래스, Docker Conatiner은 인스턴스라고 이해할 수 있습니다. 즉, Image 없이 Container는 생성될 수 없으며, 하나의 Image를 가지고 여러 개의 Container를 만들 수 있고 상태 변화도 가능합니다.
- 실행 중 (running)
- 중지 (exited)
- 일시 정지 (paused)
- 삭제 (removed)
#1. image build
docker build -t my-python-app .
#2. 이미지 실행
docker run -p 5000:5000 my-python-app
Container의 또 다른 기능은 네트워크, 볼륨, 포트를 통해 외부와 통신할 수 있다는 것입니다. Docker는 컨텐이너를 격리된 환경에서 실행시키되, 필요에 따라 외부(다른 컨테이너, 호스트, 사용자 등)와 안정적이고 유연하게 연결할 수 있도록 몇 가지 인터페이스를 제공합니다.
1. 호스트와 통신, 포트(port)
컨테이너 내부에서 실행되는 서비스는 특정 포트를 사용합니다. (Python Flask 내 포트 : 5000) 이 포트를 호스트 머신의 포트와 매핑해야 외부 사용자가 접근할 수 있습니다.
docker run -p 8000:5000 my-app
- 컨테이너 내부 : 5000번 포트에서 서비스 실행 (python app.py)
- 호스트 외부 : 8000번으로 요청하면 5000으로 전달
2. 컨테이너 간 통신, 네트워크(Network)
Docker는 컨테이너 간 격리를 유지하면서, 필요한 경우 가상의 네트워크를 통해 상호 연결시킵니다. 기본적으로 Compose를 사용하면 자동으로 하나의 사용자 정의 브리지 네트워크가 생성됩니다.
[네트워크 타입]
- bridge : 기본값, 단일 호스트 내부 컨테이너 간 연결
- host : 호스트 네트워크를 그대로 공유
- none : 네트워크 기능 없이 완전 격리
- overlay : 다중 호스트 연결용
3. 파일 공유 및 데이터 영속성을 위한 볼륨(Volume)
컨테이너 내부 파일 시스템은 일시적입니다. 컨테이너가 삭제되면 내부 데이터도 사라지기 때문에, 볼륨(Volume)이라는 호스트와 공유 가능한 외부 저장소가 필요합니다.
- DB 데이터 유지 : MYSQL의 데이터 저장 경로를 볼륨으로 지정
- 코드 핫리로드 : 소스코드 볼륨 마운트 후 수정하면 바로 적용
- 로그 확인 : 로그 파일을 컨테이너 외부에서 접근 가능하게 만듦
'Docker & AWS' 카테고리의 다른 글
[Docker 1] Docker의 장점과 Image (1) | 2025.06.29 |
---|
- 머신러닝 #project #classification #dacon
- 프로젝트 #머신러닝 #regression #eda #preprocessing #modeling
- #자연어 처리 #정수 인코딩 #빈도 수 기반
- # 프로그래머스 #연속된 부분수열의 합 #이중 포인터 #누적합
- #docker #container #docker command
- python #프로그래머스 #겹치는선분의길이
- #opencv #이미지 연산 #합성
- 로지스틱 회귀 #오즈비 #최대우도추정법 #머신러닝
- #polars #대용량 데이터셋 처리
- #opencv #이미지 읽기 #이미지 제작 #관심영역 지정 #스레시홀딩
- #tf idf
- #물고기 종류별 대어 찾기 #즐겨찾기가 가장 많은 식당 정보 출력하기 #mysql #programmers
- # 프로그래머스 # 카펫 # 완전탐색
- 머신러닝 #xgboost #
- #seq2seq #encoder #decoder #teacher forcing
- python #deque #프로그래머스 #공 던지기 #문자열 계산하기 #코딩테스트
- #프로그래머스 #안전지대 #시뮬레이션
- pca #주성분분석 #특이값분해 #고유값분해 #공분산행렬 #차원의 저주
- 자연어 처리 #정제 #정규표현식 #어간 추출 #표제어 추출
- randomforest #bagging #머신러닝 #하이퍼파라미터 튜닝
- #docker #image #build #dockerfile
- 머신러닝 #lightgbm #goss #ebf
- nlp #토큰화 #nltk #konply
- #python #프로그래머스 #외계어사전 #itertools #순열과조합
- seaborn #데이터시각화 #타이타닉
- 파이썬 #코딩테스트 #프로그래머스 #스택 #큐
- #attention #deeplearning
- 잘라서 배열로 저장하기 #2차원으로 만들기
- python #프로그래머스 #리스트 #인덱싱
- # 할인행사 #counter #딕셔너리 #프로그래머스