킹의 개발일지

도커 입문(7) - 호스트와 컨테이너의 파일시스템 연결 본문

docker

도커 입문(7) - 호스트와 컨테이너의 파일시스템 연결

k1ng 2022. 7. 18. 21:41

만약 컨테이너의 파일시스템에서 index.html을 직접 수정했을 때, 컨테이너가 사라진다면 어떻게 될 까?

 

컨테이너가 사라지면서 파일시스템도 같이 날아갈것이다. 그러면 어렵게 작업한 내용이 전부 사라질 것이다!

 

그렇다면 컨테이너의 /usr/local/apache2/htdocs/ 디렉터리와 호스트의 Desktop/htdocs를 연결하고 호스트쪽에서 수정이 이루어졌을 때 컨테이너의 파일시스템에 반영된다면 굉장히 편할 것이다.

 

컨테이너가 날라가더라도 호스트에 파일이 남아있을것이므로 안전하고, 파일의 버전관리도 쉬울것이다.

 

실행환경은 컨테이너에 맡기고 파일을 수정하는 작업을 호스트에서 진행하는 방법에 대해서 알아보자!

 

일단 C:\htdocs 경로에 htdocs 디렉터리를 만들어서 안에 index.html 파일을 생성했다.

 

<html>
  <body>
    Hello, Docker!!
  </body>
</html>

 

이렇게 만든 파일을 컨테이너의 파일시스템과 호스트의 파일시스템을 연결해서 관리해보자!

 

docker run -p 8888:80 -v C:\htdocs:/usr/local/apache2/htdocs/ httpd

 

볼륨을 바인딩해주는 -v 옵션으로 호스트의 파일시스템 경로와 컨테이너의 파일시스템 경로를 연결해주면 호스트에서 해당 파일을 변경했을 때 변경이 적용된다!

 

<html>
  <body>
    Hello, Modified Docker!!
  </body>
</html>

 

이렇게 변경하고 8888포트로 index.html을 요청해보면 변경된 페이지가 나온다!

 

이렇게 호스트의 파일시스템과 컨테이너의 파일시스템을 연결하는 방법을 알아봤다!


참고자료

https://opentutorials.org/course/4781

 

생활코딩 Docker 입구 수업 - 생활코딩

수업소개 vmware, virtualbox와 같은 가상머신처럼 독립된 실행환경을 제공하면서도, 성능의 저하가 훨씬 적은 도커에 대해서 알려드립니다.  수업대상 일하는 조직에서 도커를 쓰고 있는 분 개발환

opentutorials.org

 

'docker' 카테고리의 다른 글

도커 입문(6) - 명령어 실행  (0) 2022.07.18
도커 입문(5) - 네트워크  (0) 2022.07.18
도커 입문(4) - 컨테이너 run  (0) 2022.07.18
도커 입문(3) - 이미지 pull  (0) 2022.07.18
도커 입문(2) - 도커 설치  (0) 2022.07.18