xtring.dev

Docker 입문 - 호스트와 컨테이너의 파일시스템 연결 본문

Infra./Docker

Docker 입문 - 호스트와 컨테이너의 파일시스템 연결

xtring 2022. 1. 2. 17:21
docker
 
 
 

생활코딩 docker 입문수업 - 호스트와 컨테이너의 파일시스템 연결

 

 
 
  이전 시간에 우리는 도커의 컨테이너 내부의 파일을 직접 접근하고 수정하는 일을 해보았습니다. 하지만 이는 불편하고 위험한 일들이 일어날 수 있습니다. 예를 들어서 우리가 도커 컨테이너의 파일 시스템에 접근하고 파일을 직접 수정 했는데 컨테이너를 삭제하는 일이 발생한다면 그간 작업 했던 것들이 모두 사라지게 될 수 있습니다. 컨테이너를 조심히 다루면 이러한 문제가 생기지 않을까요?
 
  그렇지만 우리가 도커의 컨테이너를 사용하는 이유는 필요에 따라 컨테이너를 실행 시키기도 하고 정지 시키기도 하기 위해서 사용합니다. 호스트에 /Desktop/htdocs 디렉터리와 컨테이너의 /usr/local/apache2/htdocs/를 연결하여 사용하면 호스트쪽에서 파일을 제공하기 때문에 컨테이너를 올리고 내리는 것에 파일은 계속해서 유지될 수 있습니다. 실행환경은 컨테이너에게 맡기고 실제 우리가 개발할 소스코드는 호스트에게 맡기는 것이죠.

 

 
 
 

컨테이너의 파일 시스템과 호스트의 파일 시스템 연결하기

  컨테이너의 파일 시스템과 호스트의 파일 시스템을 연결하는 작업을 해보겠습니다. 먼저, 로컬에 /htdocs/index.html을 생성하여 HTML 문서를 완성합니다.
  이제 터미널에서 8888 포트를 통해 열려있는 웹서버를 생성하고 80번 포트와 연결하겠습니다.
$ docker run -p 8888:80 -v ~/Desktop/htdocs:/usr/local/apache2/htdocs/ httpd
  -v 옵션은 volum의 약자입니다.

 

  이렇게 하면 우리가 수정한 파일을 실행한 웹서버의 주소로 접근하게 되면 확인할 수 있습니다.
 
http://localhost:8888/index.html

 

  이렇게해서 호스트(나의 컴퓨터 OS)의 파일 시스템에 있는 파일을 수정하고 노출시킬 수 있기 때문에 호스트 내에서 파일의 버전관리와 백업 정책을 수행한다던지 에디터로 코드를 수정할 수 있는 장점이 생깁니다.
반응형
Comments