6. 다른 환경 배포, 실행

목표
더보기
- 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”가 최적의 배포 방식이다