Skip to content

GEONheong/migrate_docker_conatiner_diff

Repository files navigation

Migration container (diff version)

사전 준비

  • 1번 가상머신 에서 host_vm1/vm1.c 파일의 "VMTWOIP"에 2번 가상머신의 IP를 입력 합니다 image

  • 반대로 2번 가상머신 host_vm2/vm2.c 파일의 "SERVERIP"에 1번 가상머신의 IP를 입력 합니다 image

  • 컨테이너의 베이스 이미지는 무조건 ubuntu 이고 이름은 ub 로 생성해주어야 합니다 image

  • 변경 사항이 있으시다면 make 파일을 통해 컴파일 하시면 됩니다

실행 절차

VMware, VirtualBox 등 호스트 가상화 도구를 사용하여 가상머신 2대를 켜줍니다

  1. 가상머신 1,2번에 각각 migrate_docker_container_diff 을 clone 합니다 image

  2. 1번 가상머신 에서 해당 사진과 같이 준비 해줍니다 image

  3. 2번 가상머신 에서 해당 사진과 같이 준비 해줍니다 image

  4. 1번 가상 머신에서 먼저 'ubuntu:latest' 를 base로 한 "ub" 라는 이름으로 컨테이너를 생성 합니다 (생성시 터미널을 켜서 윈하는 위치에 다른 파일을 만들면 구분이쉽습니다) image 저는 최상위(.)에 add라는 디렉토리와 add.txt를 만들어 놓았습니다 image

  5. 1번 가상머신에서 ./start.sh 를 실행 시킨뒤 controller 와 연결할 포트(9999), 2번 가상 머신과 연결할 포트(9998)을 입력 해줍니다 (백그라운드로 controller 와 vm1이 실행중인 상태)
    image

  6. 변경2번 가상머신에서 ./second.sh 를 실행 시킨뒤 위와 같이 포트 번호를 입력 해줍니다 (백드라운드로 vm2 가 실행 중인 상태) image 반대로1번 가상머신에서 보면 1-connect 가 된 것을 볼수 있습니다 image

  7. 1번 가상머신 /host_user로 들어 와있는 곳에서 ./user 9999(controller 포트) 실행 시켜주고 아래 와 같이 명령어를 입력해줍니다 image
    1번 가상머신에서 2-connect 가 된것을 볼수 있습니다 image

  8. 1번 가상머신 /host_user에서 아래와 같은 명령어를 입력 해줍니다 image

  9. 명령어를 입력하면 /host_user쪽 에선 완료 매세지와 전송시 걸린 시간을 보여 줍니다 image

  10. 전송시 1번 가상머신에서는 이와 같이 나옵니다 image

  11. 전송시 2번 가상머신에서는 이와 같이 나옵니다 image

  12. 2번 가상머신에 제대로 옮겨진 것을 확인 할수 있습니다 image image

컨테이너와 레이어

구조와 원리

직접 확인하기

About

Docker container Live Migration (diff Ver)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages