초보 개발자

docker bind mount 본문

AI 웹개발 트랙 - 내배캠/9주차 ~

docker bind mount

taehyeki 2022. 3. 8. 14:01

docker bind mount

전에는 volume을 하나 만들어 mongoDB container와 연결시켜주었다.

 

이번엔 host_path와 conainer_path를 연결해주어보자.

기본적으로 container는 독립되어있기 때문에 host에 있는 templates와 container에 있는 templates는 연결이 되어 있지 않다. 따라서 전에 html을 수정하고 확인하기 위해서 새로운 이미지를 만들고 컨테이너를 만들어 실행시키는 방법을 하였는데 여간 귀찮은 일이 아니었다.

 

하지만 bind mount를 통해서 host의 templates와 연결시켜준다면 host에서 수정해도 바로 읽어올 수 있을 것이다.

 

전에 만든 app을 image로 만들었다 이름은 memo:v1 이걸 사용하여 컨테이너를 생성하자. 이때

-v "$(pwd)/templates:/templates"를 하면 현재 경로의 templates와 컨테이너의 templates를 이어주는 역할을 해준다.

 docker run --name memo -d -p 8080:5000 -v "$(pwd)/templates:/templates" memo:v1

이렇게 해주면 templates안에 있는 html을 바꾸어주어도 이미지를 새로 만들고 컨테이너를 새로 만들지 않아도 자동으로 적용되어 진 것을 확인할 수 있다. 그 이유는 같은 곳을 참조하기 때문!