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 Kafka Basic

About JVM Warm up

About ZGC

Spring Boot Actuator readiness, liveness probes on k8s

About G1 GC

sneak peek jitpack

About idempotent

C 언어 구조체의 포인터 멤버 변수

Synology NAS에 MariaDB 10에 Mysql workbench로 원격접속하기

About Websocket minimize data size and data transfer cost on cloud