본문 바로가기

삽질한것들

BACKEND DEVOPS 세팅 삽질

기본적으로 운영체제가 window이므로 wsl2 기반에서 작업하는도중이다. ( ec2에 올릴거고 아무리 docker 사용한다 한들 local 테스트 환경도 세팅할 계획이기 때문 )

현재 쓰고있는 visual studio code를 기준으로 설명하겠다.


WSL과 WINDOW를 나누는 기준

window10에서 wsl2를 사용할경우 기존의 c, d 등의 하드 드라이브들의 경로는 다음과 같이 된다.

  1. /mnt/c/...
  2. /mnt/d/...

/ (root path) 에는 기본적으로 여타 unix 기반 운영체제처럼 /var /etc /root 등의 폴더가 있고

window에서 wsl과의 환경을 나누는 기준은 요 /mnt/ 뒤에있는 폴더들이다.

따라서 visual studio code 텍스트 에디터 기준으로는 다음과 같은 문제가 발생한다.

문제점

  1. 기본적으로 WINDOW쪽의 cmd 에서는 wsl repo에 접근할수 없다.
  2. 또한 특별한 케이스인지는 모르겠는데 docker-compose를 기준으로 volume을 설정할때 wsl에서 /mnt/c/User/ 에 파일 엑세스 권한이 없어서 volume 설정이 자꾸만 안됬다. (chmod 777 을 줘도 생김)

그렇다 보니 처음엔 보기좋게 Desktop에서 backend쪽 project를 관리할 생각이었으나 위와같은 문제때문에 그냥 /project/ 폴더로 옮기고 해당 위치를 vscode로 열어서 backend쪽 project를 관리하려고 옮겼다.

하지만 vscode에서 다음과 같은 버그? 비스무리한게 발생한다.

 

위 명령어를 보면 production.yml 을 지웠고 ls 명령어로 지운 폴더 리스트를 보면 정상적으로 지워진걸 확인할수 있는데 vscode상에선 안지워진다.

그리고 역으로 vscode 상에서 폴더를 만들거나 제거 수정하는 등의 작업도 제대로 안먹힐때가 많다.

필자는 처음에 이거를 모르고 삽질 엄청했따. 흨

해결방법은 다음과 같다.

 


POSTGRESQL, MYSQL 외부포트 연동 삽질

왠진 모르겠지만 POSTGRESQL은 5432:5432 로 포트 연결해주면 localhost:5432로 접속할수 있었는데 MYSQL은 3306:3306 으로 포트 연결해줘도 [localhost:3306](<http://localhost:3306>) 접속이 안됬었다.

물론 nodejs 도 docker로 띄운다음에 link 로 db 걸어주면 접속 되겠지만

필자는 위의 버그를 모르고 volume 설정이 제대로 안되니까 개발할때 지속적으로 바꿔줘야하는

nodejs 의 /app 폴더를 docker상에 띄우기 싫었다. ( 처음에 가져올때만 잘가져오고 변경사항은 sync가 안되서 재시작 무한반복해야했음 )

하지만 위의 버그를 알게된 순간 바로 vscode상에서 remote로 바꿔주고

nodejs도 docker로 띄운다음에 link로 db를 걸어줬다.

현재 구조는 다음과 같다.

 

반응형

'삽질한것들' 카테고리의 다른 글

wsl2 localhost <=> wsl2 host  (0) 2020.12.10
Vue extends, mixin의 "자세한" 차이  (0) 2020.08.12
vue cli 3 sass resource 공유  (0) 2020.08.10
[javascript] Array.fill 포인터 문제  (0) 2020.05.25