도커 볼륨

알파로그·2023년 4월 17일
0

Linux 와 Docker

목록 보기
9/28
  • 도커 생성
    • 명령어는 한줄로 쭉 써도 되지만,
      명령어가 길경우 \ 를 사용해서 줄바꿈을 해 가독성을 높힐 수 있다.
docker run \
	--name=nginx_1 \
	-p 80:80 \
	-v /docker_projects/nginx_1/volumes/usr/share/nginx/html:/usr/share/nginx/html \
	-d \
	--restart="always" \
	nginx
  • 명령어 분석
    • docker run … nginx : 도커 내부에서 nginx 실행
    • --name=nginx_1 : name 은 nginx_1 로 생성
    • -p 80:80 : 80 포트로 들어오면 80 포트로 포트포워딩
    • -d : 데몬으로 실행
    • --restart="always" : 도커 container 실행시 같이 실행
    • -v /… : /… : 볼륨 설정

📍 볼륨 설정

  • -v 의 명령어로 볼륨을 설정할 수 있다.
  • : 를 기준으로 앞쪽이 host , 뒷쪽이 gest 이다.
    • 호스트 - 리눅스의 폴더 경로 (호스트 경로)
    • 게스트 - 도커 내부의 container (게스트 경로)
(호스트)
/docker_projects/nginx_1/volumes/usr/share/nginx/html
:
(게스트)
/usr/share/nginx/html

📍 볼륨 설정을 해줘야되는 이유

  • 호스트의 경로에 접근할 경우 게스트의 container 로 포트포워딩 처럼 이동하게 된다.
  • 이제 우리가 DNS 에 등록한 url 에 접속하면 403 에러가 발생하게된다.
    • docker container 내부에 아무것도 없기 때문

📍 웹페이지에 html 문서 작성하기

  • host 파일로 디랙토리 이동
cd /docker_projects/nginx_1/volumes/usr/share/nginx/html
  • html 문서 작성하기
    • 이렇게 하면 도커 밖에서 편리하게 도커 내부의 파일에게 접근할 수 있게된다.
    • 불필요하게 도커로 접속하고, 작업완료후 빠저나올 필요가 없어진다.
echo "<h1 style='color:blue;'>Hello</h1>" > index.html
  • 입력한 html 이 잘 작동된다.


📍 영속성 확인하기

  • 이렇게 만들어진 파일은 docker 가 삭제되도 계속 남아있게 된다.
    • 즉, 포트가 맘에들지 않거나 이럴경우 기존 도커를 삭제하고 새로 변경해서 도커를 생성하면 파일을 새로 만들지 않고 설정을 변경할 수 있게된다.
(도커 삭제)
docker rm -f nginx_1

(도커 다시 생성)
docker run \
	--name=nginx_2 \
	-p 81:80 \
	-v /docker_projects/nginx_1/volumes/usr/share/nginx/html:/usr/share/nginx/html \
	-d \
	--restart="always" \
	nginx
profile
잘못된 내용 PR 환영

0개의 댓글