일단 우리팀은 4명인데 1명이 macOs를 사용한다. 그런데 macOs에서는 uniswap이 그냥 실행이 되는 반면, 다른곳은 그렇지 못하다. 그래서 개발 환경을 맞추기 위해 핫로드가 되어야한다.
볼륨 컨테이너를 만들고, 컨테이너를 거기를 바라보는 방법...
->실패
->제대로 연동을 하려면 로컬파일이 변해야 한다.
동기화를 하고 패키지를 깔아야 hotload가 제대로 작동할 수 있다.
그래서 동기화하고 패키지를 까는 이미지 하나,
그리고 그걸 실행시키는 이미지 하나
따로따로 만들어서 실행시키기로 하였다.
이미지 파일 안에서 yarn을 해버리면 이미지파일이 커질 뿐 아니라 볼륨을 연동하는 과정에서 기존의 node_modules가 없는 파일이 덮으면서 컨테이너 디렉토리를 덮으면서 nodemodules가 없어지는 문제가 발생한다. 그래서 실행이 되지 않는다.
- CMD["yarn"] 으로 끝나는 dockerfile을 만들어서, 볼륨을 로컬로 설정하고 yarn을 이용해 로컬에서도 패키지들이 설치되는 방향으로 한다.
2.노드와 최소사양만 설치된dockerfile을 만들어서 볼륨을 공유한다.
(로컬 디렉토리를 공유받거나, 1번에서 만든 컨테이너를 볼륨으로 설정하거나)
CHOKIDAR_USEPOLLING=true
설정을 해주어야 한다고 한다.
docker run --name uniswap10 -v ${pwd}:/home/node/app -p 3010:3000 -e CHOKIDAR_USEPOLLING=true server1
실행할때 이렇게 해주거나
dockerfile에 이렇게 써주면 된다.
ENV CHOKIDAR_USEPOLLING=true