Docker -v option, --volumes-from option Using Nginx Image

아래의 두 가지 예제를 nginx 이미지를 통해서 간단하게 정리해보겠다.

1.  Docker -v 옵션을 통해서 host machine 의 directory 를 컨테이너의 directory 에 mount 시키는 예제

2. Docker --volumes-from 옵션을 통해서 여러 컨테이너가 host machine 의 directory 를 공유하는 예제


환경은 MacOS 이고 Docker 는 이미 설치되었다는 전제이다.

1. 우선 website 라는 directory 를 공유할 경로에 생성하고, 해당 경로안에 index.html 을 간단하게 생성한다.


아래와 같이 정말 간단한 태그 하나 작성한다.



2. docker run -v 옵션을 이용하여 index.html 이 있는 경로 {호스트 머신 경로}:/user/share/nginx/html 을 통해서 컨테이너를 run 한다.


아래의 차이점은 마지막에 :ro 를 붙여줬는데, ro 는 readOnly 을 줄인것이다. 즉, 해당 컨테이너 안에서 해당 경로를 읽기용으로만 사용할 수 있다는 말이고 쓰기는 불가능하다는 말이다.


브라우저에서 8080 포트 접근 시 생성했던 index.html 이 서빙 되는것 확인.

docker ps 커맨드로 컨테이너 확인.


다음은, --volumes-from 옵션을 통해서 host machine 의 같은 경로를 공유해보겠다.

-p 옵션을 통해서 8081 포트를 사용했다. --volumes-from 옵션에서는 이미 앞서 생성했던 컨테이너 이름을 사용하여 같은 경로를 공유하도록 설정했다.



브라우저에서 8081 포트 접근 시 동일하게 서빙 되는것 확인.

docker ps 커맨드를 통해서 2개의 컨테이너가 각각 8080, 8081 포트를 사용하고 있는것을 확인.





댓글

이 블로그의 인기 게시물

About JVM Warm up

About idempotent

About Kafka Basic

About ZGC

sneak peek jitpack

Spring Boot Actuator readiness, liveness probes on k8s

About Websocket minimize data size and data transfer cost on cloud

About G1 GC

대학생 코딩 과제 대행 java, python, oracle 네 번째