태그 보관물: 웹서비스

Docker 사용기

현재 파이드 파이퍼스의 웹 서버는 사무실 내에 비치 된 서버에서 운영 되고 있다. 아직까지는 – 그리고 아마도 앞으로도 대규모의 사용자를 대상으로 서비스를 하진 않을 것이기 때문에 지금의 웹서버 만으로도 충분하다고 개인적으로 생각한다.

하지만 문제라면 역시

같은 일. 서버의 위치 상 주말에 생기는 갑작스러운 정전 사태에는 어쩔 수 없이 대응하기 힘든데, 사실 이것에 대한 가장 명쾌한 해결책은 호스팅 업체를 찾아가거나 서버를 AWS 같은 서비스에 옮기는 것 뿐이다.

어쨌든 당장은 아니지만, 장기적으로는 지금의 사무실을 이전해야 할 가능성이 높은데다, 위와 같은 정전 등의 사태를 피하고 안정적인 서비스를 유지하기 위해 웹서버를 안정적인 곳으로 옮길 생각은 하루에도… 아니 한 달에도 몇 번은 하고 있었다(비즈스파크로 받은 애저 이용권은 대체 어디에 먼지가 쌓인채로 처박혀 있는지는 묻지 말아 주시길 – 실은 최후의 날을 대비해 묵혀두고 있다고…).

이런 와중, 화창한 어느날, “님, Docker 한 번 키워보시죠” 라는 아노아씨의 영업에 내가 덥썩 낚인 것은, 그날 그가 자랑하던 라즈베리 파이2(Raspberry Pi 2)의 아름다움에 눈이 멀어서 때문만은 아니었을 것이다.

Raspberry Pi 2
나, 나도 갖고싶다!

Docker? 뭔가요 그건?

기술자가 아닌 내가 도커(Docker)에 대해 이해하고 있는 것은 “무언가 VM이랑 비슷한 기술인데, 리눅스에서 돌아가고 엄청 가벼워” 라는 것이다. “리눅스의 컨테이너 가상화 기술에 기반한 경량 컨테이너” 라고 하는데 기술적인 설명은 여기를 참조하자.

Docker Logo Image

왜 하필 도커 같은 힙 한 기술에 주목을 하고 있었느냐고 한다면,

  • 어쨌든 웹서버는 언제가 되었든 옮길 필요가 있었다.
  • 새 환경에서 OS, 웹서버 프로그램, DB 세팅 같은걸 일일히 다시 하고 싶지 않았다.
  • 호스팅 업체는 여러 이유로 커스터마이징을 잘 허용하지 않는다.
  • VM(Virtual Machine)은 일단 용량부터 너무 무거웠다 – 가상 하드 디스크가 아무리 못해도 Gb 단위.

이러한 문제에 대해서 도커는 꽤 많은 장점들이 있었는데,

  • AWS 를 비롯한 다양한 서비스들이 도커를 지원하기 시작했다.
  • 서버 이전 때 마다 무거운 VM을 몽땅 옮길 필요가 없다. 이미지 크기가 그저 수백 Mb 정도.
  • 현재 웹 서비스를 운영하는데 필요한 어플리케이션이 이미지 형태로 다양하게 제공되고 있다.
  • 어플리케이션의 설치 / 설정 / 삭제가 무척 용이하다.
  • 때문에 웹 서버의 이전도 손쉽게 할 수 있다.

정도가 되겠다.

Docker 입주 이야기

도커의 설치 과정 자체는 손쉬웠다. 깔끔하게 새로 설치한 우분투 머신에 설치 가이드에 따라서 설치를 하고, 워드프레스와 MySQL(이후 MariaDB로 갈아탐) 도커 이미지를 다운로드 받고 컨테이너를 띄우고 워드프레스가 정상 동작하는지 확인하는데 걸린시간은 (OS 설치 시간 제외하고) 딱 10분(그나마 영어 페이지 해석하고 메뉴얼 읽고 하는 시간이 대부분이었다).

이렇게 손쉽게 웹서버 + 워드프레스의 세팅이 끝날 줄은 정말 기대하지 않았었다. 물론, 기대하지 않은 일은 이 이후에 또 벌어졌지만.

기대하지 않은 두 번째 일은 바로 기존 웹서비스를 그대로 이전하는데 대한 난관에 봉착한 것. 몇 가지 이유로는…

  • 공식 어플리케이션 이미지들은 서비스 이전이나 복구가 아닌 처음 사용에 대해서만 안내하고 있다.
  • 공식 이미지의 구조를 일일히 뜯어서 확인해야 커스터마이징이 가능했다.
  • 서비스를 제대로 이전하기 위해서는 워드프레스의 구조를 파악해야만 했다.
  • 처음 컨테이너를 만들 때 설정한 옵션의 변경 방법을 결국 끝끝내 찾지 못했다 – 이것 때문에 컨테이너를 만들었다 지웠다가 몇 번이었는지… 누군가 친절히 알려주신다면 감사!
  • 가장 큰 문제는 일단 내가 전문적인 웹서버 관리자, 웹서비스 개발자가 아니다. (…..)

어쨌든 컨텐츠를 이전, 기존의 공유되었던 글들의 고유주소 문제를 해결, 플러그인 복구, 워드프레스 재세팅 등등의 일들을 각종 삽질 끝에 성공적으로 마무리하고 새로운 서버를 시작한 것이 지금의 상태. 현재 이 페이지는 도커 위에서 워드프레스와 MariaDB를 이용하여 동작 중에 있다.

지금의 웹 서버 이전 작업은 언젠가를 위한 작업이다. 과연 그 언젠가가 언제 올 것인가! 같은 사소한 의문은 뒤로하고 일단은 만들던 게임 제작을 위해 도커 사용기는 여기까지. (사실 더 할 이야기가 없… 읍!읍!)