윈도우10에서 레거시 개발 환경 (Apache2.4 + PHP5.3.29 + MySQL5.7) 을 구축하려고 하는데 생각보다 쉬운 작업이 아니었다. 단순히 윈도우에서 구동되는 PHP5.3.29를 구하는 것도 어렵다. 어떻게 구했다한들 인터넷에 있는 여러 참고자료들을 보면서 똑같이 해봐도 문제점이 많이 발생한다. 작업하다가 실수로 다른 버전을 설치하거나 환경 설정을 잘못해줘서 리셋해줘야하는 상황이 오면 그것 또한 엄청 번거롭다.
이걸 해결할 수 있는 게 도커라고 생각했다.
가장 좋은 점은 내가 실수했어도 간단히 컨테이너 지우고 이미지를 pull해서 다시 작업하는 게 정말 편하다는 것이다. 마치 콘솔게임하면서 중간중간에 세이브하면서 캐릭터가 죽으면 로드하는거랑 비슷한거 같다. 뭔갈 구축하려고 열심히하다가 그걸 이미지화해놓고 실수하면 바로 컨테이너 지워버리고 다시 이미지화한걸 컨테이너로 만들면되기 때문이다.
두번째로 좋은 점은 개발 환경 구축이 쉽다. 많은 사람들이 자신이 구축해놓은 개발환경을 이미지화 한것을 도커허브에 올려놓는다. 예를 들어서 도커허브에 그렇게 윈도우10에서 찾기도, 구동하기도 어려웠던 PHP5.3.29를 검색해보면 결과과 꽤 많이 나온다. 단순히 내가 찾던 버전의 언어팩만 들어있는게 아니라 보통 서버도 같이 해놓기 때문에 이렇게 편리할 수가 없다.
이렇게 좋지만 주저되는 점이 단순히 호스트 pc의 운영체제에 개발환경을 갖추기 어려워서 개발을 쉽게하려고 도커를 사용하는 게 괜찮은 프로세스인가?이다. 특정하게 이러이러해서 안좋다고 문제를 매듭지을 순 없지만 분명히 어딘가 좋지않은 느낌을 받는다.
개발환경을 만들고 거기에 코드를 올리는거 까진 문제가 없는데, 예를 들어 Jetbrain의 PhpStorm을 써서 도커에 연결하여 코드가 있는 디렉토리로 가서 수정하려고하면 Read-Only 라는 문구가 뜬다. 스택오버플로우에서 찾아보면 하나 달린 답변에는 안된다고 써져있지만, 질문의 코멘트에는 PhpStorm을 관리자모드로 실행하거나 VSCode에서는 가능할거라고 하는데 아직 테스트해보진 못했다. VSCode에서 된다해도 왜 별로 사용하고 싶지 않지?
결국에는 윈도우10에서 개발 환경을 구축했다. 내가 최선을 다해서 찾아보지 않았거나 마음속 한켠 그냥 윈도우가 너무나도 쓰기 싫어서 그냥 안된다고 맘속으로 결정내렸던거 같다. 솔직히 윈도우10에 아파치 설치할때도 쉘로 전부 안되고 수정하다가 GUI로 시스템 설정으로 들어가 환경변수를 수정해줘야하는 등 뭔가 매끄럽지 않은게 오류는 없었지만 뭔가 싫다.