
저번 시간에는 볼륨을 사용하여 도커 데이터베이스를 유지하는 방법에 대해 알아보았다.
이번 시간에는 도커 데이터베이스를 유지하는 두번째 방법인 "바인드 마운트" 에 대해 알아보자!.
음...역시 공식문서를 따라가보자!

💡 바인드 마운트를 사용한다면, 호스트 위의 정확한 마운트 포인트를 지정해 줄 수 있다. -도커-
엥.. 이게 뭔소린가 싶다.. 데이터베이스를 유지해준다 했는데 마운트 포인트를 지정한다고??
공식문서를 계속 읽어보면, 바인드 마운트는 데이터베이스 유지에도 사용되지만, 주로 컨테이너에 추가적인 데이터를 제공할 때 사용된다고 나와있다. 데이터베이스 유지에 사용되는 일반적인 방식이 아닌거같다..
아무튼 실습을 해보자!
PS> docker run -dp 3000:3000 `
-w /app -v "$(pwd):/app" `
node:12-alpine `
sh -c "yarn install && yarn run dev"
뭔가 심상치 않은 코드들이 보인다... 참 다정하게도 공식문서에 아주 자세하게 설명되어 있다.

해당 명령어를 사용하여 컨테이너를 빌드하고, 할일을 추가한후 컨테이너를 재빌드 하면, 변경사항이 정상적으로 저장된걸 확인 할 수 있다.
우선, 당연히 데이터베이스를 유지 시키는 기능이 있다! 하지만 이것 이외에도, dev 서버 개발환경을 사용하는 머신은 빌드 툴이나 환경 구축을 하지 않아도 된다는 점이 있다.
아까 dev 서버 개발 환경에 대해 검색해 보았을 때, 서버 측에서 코드를 구동해볼 수 있다는 걸 보아, 서버에서 구동에 필요한 모든 것들을 당겨와서 구동하기 때문에, 위의 이점을 가지는 것 같다. (근데 큰 기능은 개발 못한다고 한다)
- 도커에서 데이터 베이스를 유지하는 방법은 볼륨 혹은 바인드 마운트를 이용하면 된다.
- 볼륨은 자동으로 마운트되어 데이터베이스를 유지한다
- 바인드 마운트는 마운트 포인트를 직접 지정할 수 있으며, dev 환경을 사용하기 때문에 다른 install 이 필요하지 않다.