11-22 17:46
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
관리 메뉴

기록을 합시다.

[docker] Mount 명령어를 이용해 컨테이너끼리 폴더 공유 하기(feat. Apache, Tomcat) 본문

공부/etc

[docker] Mount 명령어를 이용해 컨테이너끼리 폴더 공유 하기(feat. Apache, Tomcat)

울집고양이세마리 2023. 4. 21. 03:32

docker Volume?

 

Volumes

 

docs.docker.com

Docker Volume은 Docker 컨테이너와 호스트 파일 시스템 간의 데이터 공유를 지원하는 기능이다.

Docker Volume을 사용하면 컨테이너 내부에 데이터를 저장하지 않고 호스트의 파일 시스템에 저장하게 되어 컨테이너가 삭제되더라도 데이터가 유지된다.

Volume 생성 명령어

docker volume create [볼륨 이름]

Volume 리스트 출력 명령어

docker volume ls

Volume 세부사항 확인 명령어

docker volume inspect [볼륨 이름]

Volume 삭제 명령어

 docker volume rm [볼륨 이름]

Volume에 Container 생성하고, 폴더 경로 Mount하는 명령어

 docker run -d --name [컨테이너 이름] -v [볼륨 이름]:[마운트할 경로] [이미지 이름:버전]

Volume 생성하기

일단은 volume 생성을 하고, docker volume list를 통해 잘 생성 되었는지 확인한다.

docker volume create myapache
docker volume list

볼륨의 상세 정보를 보기 위해 inspect 명령어를 이용해준다. 

docker volume inspect myapache

이제 apache container를 생성해주고, 생성한 볼륨인 myapache에 apache_container에 마운트할 폴더 경로를 적어준다. 

tomcat container 생성할 때 또한 apache container 생성할 때처럼 마운트할 폴더 경로를 적어준다.

 docker run -d --name apache_docker -dit -p 80:80 -v myapache:/usr/local/apache2/htdocs httpd
 docker run -d --name tomcat_docker -dit -p 8080:8080 -v myapache:/usr/local/tomcat/webapps/ROOT tomcat

그리고, 도커가 아니라 컴퓨터 로컬에 있는 html 파일을 apache container의 마운트 했던 폴더 안에 넣어준다.

 

확실하게 들어갔는지 확인하기 위하여 docker desktop을 이용해서 본다. 

exec 명령어를 통해 터미널에서 확인해도 상관없다. 

tomcat container도 apache_docker와 같은 볼륨에서 마운트 했기 때문에 똑같은 파일이 마운트 폴더에 있어야 한다. 

 

localhost에 접속해서, apache container가 잘 돌아가는지 확인해본다. 

 

localhost:8080에 들어가서 tomcat container가 작동되는지 확인한다. 

 

Comments