티스토리 뷰

몇년간 도커를 실서버에 적용해보려했지만,

역시나 도커 역시 실서버에 배포방법으로는 아니올시다로 결론이 내려지네요.

서버를 튜닝하기가 아주 불편하고(컨테이너라서 눈에 거의 안보임), 개발한거 그대로 구워서 간단하게 배포하는것에만 초점이 맞추어져 있기에, 배포후 운영관리나 서버를 관리하는 용도에는 아주 꽝입니다.

도커는 그냥 개발환경구축하는 용도로만 사용하는게 낫네요.


도커를 윈도우환경에서 사용하는 방법에는 3가지가 존재합니다.

  • Docker for Windows
    • 윈도우10 Hyper-V 가상머신 필수
    • 도커만든 회사가 주로 밀고있는 Tool
    • 클라우드 배포방법으로 Swarm을 밀고있는데, 국내의 환경에는 맞지 않음. 글로벌서비스에 관련된거라.
    • Hyper-V 가상머신에만 최적화하려는 노력들을 지속적으로 하고 있기때문에 다양한 개발환경에 대한 지원이 거의 없어서 융통성이 상당히 부족함.
      • Docker Host Machine에 SSH로 접속할 공식적인 방법도 없음.
      • 따라서 도커의 작동에 대한 이해도도 자연히 떨어지고 문제발생하면 구글링에서 없으면 해결책을 상상해볼수있는게 전혀 없음.
  • Docker Toolbox
    • 윈도우10이 출시되기전에 도커를 사용했던(지금도 사용중인) 방법
    • Hyper-V 가 아니라 오라클 VirtualBox 하고 연동해서 사용하는 방식임.
    • 도커만든 회사가 기존 사용자들때문에 유지하고 있는 Tool
    • 윈도우10에서 설치해 사용하면 윈도우7 시절에나 존재했던 Documents and Settings폴더에다가 설치하므로 윈도우10에 맞지않는 지저분해진다는 느낌은 감수하고 사용해야함. 윈도우10부터는 Documents and Settings폴더가 제거되었거든. 
    •  윈도우10이면 Docker for Windows가 정식이고, Docker Toolbox는 이전 윈도우에서나 쓰던거라 사생아 같은 느낌아닌 느낌. 그렇다고 에러난다거나 그런건 전혀없고 잘 돌아가며 다양한 이유로 Docker Toolbox의 존재감은 여전하고 앞으로도 여전할 것이라 생각함. 
    • 나같은 경우는 윈도우 10에 Docker for Winodws 설치하고 사용하다보면 하루지나면 블루스크린 반드시 뜨고, 검색해본 결과 Hyper-V가 원인이었으며 Hyper-V와 윈도우10 블루스크린 안정성문제가 이전부터 계속있어왔던터라 Docker for Windows는 편의성이 좋기는 하지만 나같은 경우는 사용불가능함. 이 원인을 알기까지 PC를 첨부터 다시 포맷하고 설치하기를 반복한게 지금까지 3번째임. 덕분에 쓸데없이 윈도우 시스템이미지 백업및 복원, 파일히스토리 백업및 복원, 기타 윈도우용 백업복구 유틸리티에 정통해버렸으며, 증분백업전략에 식견이 생기질 않나..? 시간만 무척 낭비했음.
  • Vagrant
    • 주로 오라클 VirtualBox 가상머신과 연동해서 사용하는게 대세.
      • VirtualBox를 설치하면 Hyper-V는 제거해야만 함.
        • VirtualBox Hyper-V는 서로 경쟁관계이므로, 호환하지 않음.
        • VirtualBox / Hyper-V 둘다 설치되어있으면 윈도우 뻑남(블루스크린)
    • 이거 나오게 된 동기가 여러 플랫폼을 모두 통합해서 개발환경을 만들수있도록 하겠다는 창업자의 철학이 반영되어 특정 OS나 가상머신에 얽매이지 않으므로 융통성이 아주 좋아서 Vagrant에 조금만 익숙해지면 다양한 개발환경에 스스로 만들어 사용가능.
    • 윈도우10 Hyper-V를 Vagrant Provider로 Vagrantfile에 지정해 사용도 가능하나 관련정보도 부족하고 관련된 Vagrant Box도 별로없음.
      • 그래도 어렵사리 연구해서 Hyper-V에 최적화된 Vagrantfile로 작성해서 사용해봤는데 윈도우10이면 이거 추천.
    • Vagrantfile에 Provider로서 Docker를 지정해서 사용
      • Provider중의 하나로 Docker를 사용하려면 이미 윈도우에 Docker Toolbox 아니면 Docker for Windows 둘중 하나가 설치되어있어야 함.
      • 윈도우상에 기 설치된 docker.exe, docker-compose.exe, docker-machine.exe 이 3개의 실행파일을 단순이 call해서 사용하는것이기때문임.
    • Vagrantfile에 Provision으로서 Docker를 설치해서 사용
      • 가상머신은 오라클 VirtualBox / 윈도우10 Hyper-V 둘중 맘에 드는거나 현상황에서 적용가능한 가상머신을 Provider로서 사용하면 됨.
      • 위에서 선택한 Provider로 부팅후에 Provision섹션에서 부팅한 그 VM에 도커설치를 자동화해서 사용하는 방식이라 윈도우에 도커관련해서 설치할 필요가 전혀없음.
      • 가장 윈도우에 의존적이지 않으므로, Vagrantfile만 1개 있으면 전부 알아서 개발환경 설치 자동화가 가능함.


<전체적인 느낌>

  • Docker는 개발한거 관련된 전부를 이미지로 구워서 자동차 타이어 갈아끼우듯이 그 이미지 하나만 실서버에서 교체하고 끝내겠다.
    • 소스에서 오타하나 수정해도 전체를 다시 이미지로 구워서 버전붙여서 Docker Cloud같은 저장소에 올려놓고 끌어땡겨서 이미지 교체해야함.
  • Vagrant는 개발한거 관련된 전부를 실서버에서 설치하는 작업들을 자동화하겠다.

    • 실서버에서 이미지만 갈아끼우면 금방 끝나는 일을 첨부터 전부 설치해야 함.





공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함