Docker에 대해 보충 설명
생성일 : 2026.10.07 16:42
- Docker는 Dockerfile에 명시된 내용을 기반으로 격리된 작은 리눅스 컨테이너를 만들어 실행할 수 있는 도구이다.
- Dockerfile은 베이스 이미지, 라이브러리 설치, 코드 복사, CMD 실행 순서로 컨테이너 환경을 정의한다.
- `docker build` 명령으로 Dockerfile을 실행해 Image를 만들며, 이는 아직 꺼진 상태의 컨테이너 사본이다.
- `docker run` 명령으로 Image를 실행하면서 `-v`로 Volume, `-p`로 포트 매핑을 지정해 외부와 데이터 및 접속을 연결한다.
AI 기반으로 보충 설명
Docker는 "작은 리눅스 컴퓨터를 하나 더 만드는 도구"
내 PC 안에 격리된 작은 컴퓨터를 만든다고 생각하세요. 이 작은 컴퓨터는 처음엔 텅 비어 있고, 필요한 걸 내가 채워 넣습니다.
내 PC (맥/윈도우)
└─ Docker
└─ 작은 컴퓨터(컨테이너) ← 이 안에서 프로그램이 돈다바깥(내 PC)과 안(컨테이너)은 서로 분리돼 있습니다. 내 PC에 Python이 없어도, 컨테이너 안에는 Python을 넣을 수 있습니다.
Docker 작업은 3단계 하나뿐
1단계. Dockerfile: 작은 컴퓨터에 뭘 넣을지 적는다
FROM python:3.11-slim # 빈 리눅스에 Python 3.11을 깐 상태에서 시작
RUN pip install torch ... # 그 안에 라이브러리 설치
COPY server.py . # 내 코드를 그 안으로 복사
CMD ["python", "server.py"] # 시작하면 이걸 실행해라즉 "작은 컴퓨터를 세팅하는 순서"를 글로 적은 것입니다.
2단계. build: 세팅을 실제로 해서 얼려둔다
docker build -t kure-server .Dockerfile을 위에서부터 실행해서, 세팅이 끝난 상태를 Image로 저장합니다. 이건 아직 꺼져 있는 상태입니다.
3단계. run: 얼려둔 걸 켠다
docker run kure-serverImage로 작은 컴퓨터를 켜서(Container) CMD를 실행합니다. 이때부터 서버가 돌아갑니다.
Dockerfile ──build──▶ Image ──run──▶ Container
(세팅 순서) (세팅 완료,꺼짐) (켜져서 실행 중)Docker에 "넣는" 것의 정체
Image 안에는 Dockerfile이 시킨 것만 들어 있습니다. 그 외에는 아무것도 없습니다.
Dockerfile 줄 | Image에 들어가는 것 |
|---|---|
| 리눅스 + Python |
| 라이브러리들 |
| 내 코드 파일 |
그래서 "Docker에 뭘 넣었냐"는 질문의 답은 "Dockerfile에 적은 대로만 들어 있다" 입니다. 안 적은 건 없습니다. 모델 파일을 안 적었으니 Image에 없는 것이고, 그래서 바깥에서 따로 연결(Volume)해 줘야 합니다.
Volume: 안과 밖 연결
컨테이너는 격리돼 있어서 내 PC의 폴더가 안 보입니다. 그리고 컨테이너를 지우면 안에서 만든 파일도 사라집니다. 그래서 연결 통로를 뚫어 줍니다.
docker run -v ~/kure-models:/models kure-server
# 내 PC 폴더 컨테이너 안 위치이러면 컨테이너 안의 /models가 내 PC의 ~/kure-models 폴더와 같은 폴더가 됩니다. 컨테이너가 사라져도 내 PC 폴더에는 파일이 남습니다.
포트: 서버에 접속하는 문
컨테이너도 격리돼 있어서 바깥에서 접속하는 문이 없습니다. 문을 연결해 줘야 합니다.
docker run -p 8000:8000 kure-server
# 내PC포트 : 컨테이너포트그러면 내 PC의 localhost:8000으로 접속하면 컨테이너 안의 서버에 연결됩니다.
전부 합치면
docker build -t kure-server . # 세팅 → Image
docker run -p 8000:8000 -v ~/kure-models:/models kure-server # 켜기 + 문 + 폴더 연결이 두 줄이 Docker 사용의 전부라고 봐도 됩니다.
한 문장 요약
Docker는 "내 프로그램이 돌아갈 작은 컴퓨터"를 Dockerfile대로 만들어서, 어느 PC에서든 똑같이 켜게 해 주는 도구다.