[Docker] 도커 입문과정 - Host와 Container의 파일 시스템 연결

leeng·2023년 2월 20일
0

docker

목록 보기
6/6

이전 포스팅에서 도커 컨테이너 내부에 접근하여 명령어를 실행하는 방법에 대해 알아보았다. 이를 이용하면 웹서버 내부에 있는 index.html 파일의 내용을 수정할 수 있다.

httpd 웹서버에서 웹페이지를 보관하는 경로는 '/usr/local/apache2/htdocs/'이다.

컨테이너 내부의 쉘을 실행한 뒤 해당 경로로 이동해보면 index.html 파일을 확인할 수 있다.

그리고 apt update / apt install nano 명령어로 nano 에디터를 설치하여 저 index.html 파일을 수정할 수 있다.

하지만 웹서버의 파일을 직접 수정하는 것은 여러모로 불편하고 비효율적일뿐더러 위험할 수도 있다. 그래서 호스트의 파일 시스템을 컨테이너의 파일 시스템과 연결하여 파일 관리는 호스트에서 작업하고 실행은 컨테이너에서 하는 방법을 알아보겠다.

1. Container와 연결할 디렉토리 생성

우선 호스트에서 아래와 같이 index.html 파일을 작성하여 바탕화면의 index라는 폴더(경로 : C:/Users/audrb/Desktop/index) 안에 넣어두었다.

2. Container 생성 시 Host의 파일 디렉토리와 연결 설정

그리고 컨테이너를 생성할 때 -v 호스트와 컨테이너의 옵션으로 volume(파일시스템)을 공유하도록 설정한다.
"docker run -p 8888:80 -v C:/Users/audrb/Desktop/index:/usr/local/apache2/htdocs/ httpd"

그러면 호스트의 8888 포트로 접속했을 때 웹서버의 '/usr/local/apache2/htdocs/' 경로가 아닌 호스트의 C:/Users/audrb/Desktop/index 폴더 하위에 있는 index.html의 내용을 보여주는 것을 확인할 수 있다.

물론 호스트에서 해당 html 파일의 내용을 수정한 뒤 저장하면 바로 수정한 내용이 반영된다. 너무 편하네요!

profile
기술블로그보다는 기록블로그

0개의 댓글