도커 볼륨 3

[Docker] Volume을 활용한 정적 웹사이트 배포와 컨테이너 간 데이터 공유

웹 서비스를 개발하고 배포할 때 가장 기본이 되는 것은 정적 파일(HTML, CSS, JS)을 웹 서버에 띄우는 것이다.Docker를 사용하면 Nginx와 같은 웹 서버를 순식간에 실행할 수 있다.하지만 보다 확장성 있는 아키텍처를 위해서는 단순히 컨테이너를 띄우는 것에서 나아가, 호스트의 파일을 컨테이너와 연결하고(Bind Mount), 여러 컨테이너가 동일한 데이터를 바라보게 설정(--volumes-from)할 수 있어야 한다. 간단한 포트폴리오 웹사이트 예제를 통해 Docker Volume의 활용법을 알아보자. 1. 실습 환경 준비: 정적 파일 준비먼저 웹 서버에 띄울 소스 코드가 필요하다.구글에 "free bootstrap template"을 검색해서 Bootstrap 기반의 간단한 포트폴리오 템..

[Docker] 바인드 마운트(Bind Mount)를 활용한 데이터 동기화 (3)

이번에는 워드프레스와 MySQL을 링크하여 컨테이너가 삭제되어도 호스트 경로에 데이터가 보존되는 바인드 마운트를 구현해본다. WordPress와 MySQL 링크(--link)에 대한 내용은 아래 포스팅에 자세히 정리되어 있다. https://nanujahope.tistory.com/1011. MySQL 컨테이너 실행 (Host Volume 마운트)가장 먼저 데이터베이스 컨테이너를 생성한다.핵심은 컨테이너 내부의 데이터가 저장되는 경로를 내 로컬 호스트의 경로와 연결하는 것이다.docker run -d --name wp_db \-e MYSQL_ROOT_PASSWORD=rootoor \-e MYSQL_DATABASE=wordpress \-v /home/wp_mysql:/var/lib/mysql \mysql:..

[Docker] 바인드 마운트(Bind Mount)를 활용한 데이터 동기화 (2)

지난 포스팅에 이어 계속해서 바인드 마운트 방식을 이용한 도커 볼륨 관리 방법에 대해 알아보자. 1. 작업 디렉토리 준비 및 컨테이너 실행호스트의 현재 경로($(pwd))에 있는 index.html 파일을 Nginx가 웹 서비스를 제공하는 경로(/usr/share/nginx/html)에 마운트한다.# 1. 작업 디렉토리 이동 및 확인cd Desktop/webs/pwd/home/ubuntu/Desktop/webslsindex.html# 2. Bind Mount를 적용하여 새 컨테이너 생성하고 실행docker run --name web_four -v $(pwd):/usr/share/nginx/html:rw -p 2003:80 -d nginx 2. 컨테이너 상태 확인docker psCONTAINER ID ..