docker를 이제는 배워야겠다 생각하는 이유

shockwave·2024년 11월 20일

TIL

목록 보기
48/49

우선, 이번 글에서는 docker에 대한 이야기는 없다.
docker를 왜 써야할 지에 대해서 느낀 경험을 적어본다.


1

AWS EC2 서버를 ubuntu기반으로 만들어서 배포용 서버를 만들려고 했다.


서버를 깃허브에서 가져와 빌드하는 과정에서

node, typescript버전이 호환이 안된다고 오류가 자꾸 떴다.

분명 EC2서버에서 노드를 새로 깔아서 버전을 맞춰주려고 한 것인데 안 되는 것을 보니 해당 EC2 서버에서 지원하는 node버전은 최신버전보다 낮은 버전인 것임이 틀림없었다.

버전을 최신화해야겠다고 생각했다.


2


typescript를 우선 uninstall하고 다시 install하여 버전을 최신화해보기로 했다.

될 리가 없었다.

nvm(node version manager) 환경이 최신화 되어 있지 않기 때문이었다.


Node.js 공식 홈페이지에서 다운로드를 하기 위해 살펴보면
nvm 을 사용하는 리눅스 최신환경은 이렇게 설치할 수 있다고 나와있다.

바로 설치해보자.


3


위에 보이는 명령어들을 그대로 한 줄씩 따라치면 쉽게 설치가 가능하다.
노드를 uninstall한 깨끗한 환경에서 이렇게 명령어를 입력하면 설치할 수 있다.

중간에 nvm이 잘 설치되지 않아서 고민하다가 튜터님께 도움을 받았다.
노드 환경을 구축하게되면 bashrc 파일이 수정되는 일이 발생하므로
source ~./bashrc 명령어를 사용하면 수정된 환경으로 현재 배쉬(쉘)을 적용시켜준다는 것이다.

이어서 설치하면 최신버전인 v23.2.0으로 설치된 것을 볼 수 있다.
이제 타입스크립트를 최신화 할 일만 남았다.


4


타입스크립트를 삭제했는데, 버전이 아직 남아있다.
전역으로 설치되어있나 싶어서 -g 명령어를 이용해 삭제해보았지만

아직도 구버전이 설치되어있다.

어찌된 일인가 머리를 굴려도 답이 나오지 않아 튜터님께 다시 도움을 구했다.


tsc파일이 남아있는 경로를 찾아보니 아직 남아있는 것을 확인했다.

해당 파일을 지워준다.

완전하게 삭제된 것을 볼 수 있다.
다시 최신버전을 깔아주도록 하자. (현재 nvm 버전이 최신이므로)

최신 버전이 깔린 것을 확인할 수 있다.

그 후 빌드가 잘 되는 모습을 볼 수 있었다.


별 것 아닌 것 같아 보여도 이런 충돌 하나가 어찌할 바 모를 혼란을 야기하게도 되는데
우여곡절 끝에 해결하고 보니
참 이렇게 하나하나 버전을 최신화하거나 해당 프로젝트와 버전을 맞춰가면서 환경을 구축하는 것 자체가 굉장히 까다로운 일임을 깨닫게 되었다.

Docker를 써보라고 튜터님께서 추천해주셨다.
잠깐 알아보니 Docker는 버전관리를 편리하게 알아서 해당 프로젝트에 맞게 환경을 구축해준다고 한다.
공부해서 써먹기로 했다.

프로젝트가 어느 정도 완성이 되면 새로 AWS EC2 서버를 생성해서 Docker를 통해 편리한 환경을 구축하는 쪽으로 구상해보려고 한다.

profile
생각을 많이. 입은 무겁게. 심장은 항상 열심히 뛰는 사람이 되자.

0개의 댓글