목표

더보기
  • Docker 이미지를 파일 형태로 전달할 수 있다
  • 다른 PC 환경에서 동일한 서버를 실행할 수 있다
  • Docker Compose 기반 실행으로 환경 차이를 제거할 수 있다
  • 교육 현장에서 서버 배포 흐름을 설명할 수 있다
  • 이제 서버 코드를 넘기는 것이 아니라
    실행 환경 자체를 전달할 수 있습니다.

 

1. 다른 환경 배포 시나리오

더보기

강사용 PC에서 만든 서버를 여러 실습용 PC에서 동일하게 실행해야 함

여러 실습용 PC는 네트워크, OS, Python 설치 여부가 제각각 입니다.

 

이때 가장 중요한 요구사항은 다음입니다.

“학생 PC 환경과 상관없이
같은 서버를 동일하게 실행할 수 있어야 한다.”

 

Docker는 이를 이미지 단위 배포로 해결합니다.

 

2. 단계별 배포 

더보기
 
 
1단계: 강사 PC에서 서버 이미지를 파일로 저장합니다.
 
docker save chat-server -o chat-server.tar

chat-server 이미지를  chat-server.tar 파일로 저장

이 파일 하나에 다음이 모두 포함됩니다.

  • 서버 코드
  • Python 실행 환경
  • 라이브러리
  • 실행 설정(CMD)
 
 
 
 
2단계: 이미지 파일 전달

생성된 chat-server.tar 파일을 전달합니다.

소스 코드가 아니라 이미지 파일 자체를 전달합니다.

  • USB 메모리
  • 내부 파일 서버
  • 실습용 PC 공용 폴더
  • 교육용 LMS 업로드

 

 

 

 

3단계: 다른 PC에서 이미지 불러오기

학생 PC 또는 다른 환경에서 다음 명령을 실행합니다.

 

 

docker load -i chat-server.tar

전달받은 이미지 파일을 로컬 Docker 이미지로 등록

 

 

docker images

chat-server 이미지가 보이면 성공입니다.

 

 

 

 

4단계: Docker Compose로 서버 실행

docker compose up -d

이미지 파일만 있으면, 실행은 동일합니다.

 

전제 조건:

  • docker-compose.yml 파일이 함께 제공됨
  • 포트, 컨테이너 이름, 실행 방식이 동일하게 정의됨

결과:

  • 모든 PC에서 동일한 서버 실행
  • 환경 차이로 인한 오류 제거

 

 

 

 

5단계: 서버 동작 확인

docker ps
docker logs chat-server

 

  • 컨테이너 Running 상태
  • 서버 시작 로그 출력
  • 포트 8888 정상 동작

 

3. 학습 주요 포인트

더보기
  • Docker 이미지는 실행 환경 그 자체이다
  • 이미지를 파일로 전달하면 환경 차이가 사라진다
  • Docker Compose는 실행 방식을 표준화한다
  • 교육 현장에서는 “이미지 + Compose”가 최적의 배포 방식이다