[Docker] Docker Nginx

BBeumSeok·2024년 8월 21일
0

Docker

목록 보기
4/4
post-thumbnail

컨테이너 인프라 환경

  1. 하이퍼바이저
  • Virtual Box

  1. 가상 머신(Guest OS)
  • CentOS, Ubuntu 등

  1. 쿠버네티스(컨테이너 관리)
  • Master Node

  • Worker Node

  1. 도커(컨테이너)
  • Docker

  1. 젠킨스(CI/CD)
  • 젠킨스를 이용한 지속적 통합 및 배포

  1. 프로메테우스/그라파나(모니터링)
  • 프로메테우스와 그라파나에 의해 모니터링되는 리소스

Docker nginx 사용해보기

  1. nginx 설치
  • docker pull nginx



  1. nginx:stable
  • docker pull nginx:stable

=> 도커의 경우 동일한 이미지 레이어를 공유하므로 이전에 다운받은 레이어가 있는 경우
다시 내려받지 않아도 된다.

  1. 이미지 생성 히스토리 확인하기
  • docker history nginx[:TagName]



  1. 추가로 경로 설정을 통해 정상적으로 컨테이너 실행하기
  • Virtual Box -> NAT 네트워크 -> nginx 포트포워딩 설정



  • docker run -d -p 8000:80 --name nginx-exposed --restart always nginx



  1. localhost:8000 접속
  • 웹에서 Welcome Nginx가 화면에 보여지는 것을 확인



  1. DockerTest 디렉터리로 이동

  2. html이라는 이름의 디렉터리 생성

  • mkdir html



  1. nginx를 사용해서 html 연결하기(Volume 설정)
  • docker run -d -p 8080:80 -v
    /home/user1/DockerTest/html:/usr/share/nginx/
    --restart always --name nginx-bind-mounts nginx

  • -v(Volume)

  1. html 접근
  • cd html

  • ll 명령 실행



  1. localhost:8080 웹으로 접근
  • 403 Forbidden 에러가 화면에 출력된다.



  1. html 디렉터리 생성
  • DockerTest 디렉터리 내부에 html 디렉터리 생성



  1. index.html 파일 생성 및 작성



  1. 웹으로 접근하여 동작 확인
  • index.html을 작성함으로써 변경된 웹을 확인한다.



  1. 컨테이너 내부 확인하기
  • docker exec nginx-bind-mounts cat /usr/share/nginx/html/index.html



  1. 볼륨 만들기
  • docker volume create nginx-volume



  1. 만들어진 볼륨 확인하기
  • docker volume ls



  1. 특정 볼륨 상세 내용 출력하기
  • docker inspect nginx-volume


  1. Mountpoint를 이용하여 볼륨 내용 확인하기
  • sudo ls -l sudo ls -l /var/lib/docker/volumes/nginx-volume/_data

=> 현재 어떠한 내용도 없기 때문에 total 0이 출력된다.

  1. nginx-volume 실행
- docker run -d -v nginx-volume:/usr/share/nginx/html \
> -p 8081:80 --restart always --name nginx-volume nginx
d9538cc19ea5d8b9c2d812c9161365728c86890436e8d314fd5a6fc017d039aa



  1. 다시 마운트포인트로 볼륨 내용 확인
  • sudo ls -l sudo ls -l /var/lib/docker/volumes/nginx-volume/_data



  1. vim 편집기로 index.html 열기
  • sudo vim /var/lib/docker/volumes/nginx-volume/_data/index.html



  1. index.html 내용 수정



  1. 수정된 index.html을 8081 포트로 접속하여 확인



  1. 실행 중인 nginx 컨테이너 중지
  • docker ps -f ancestor=nginx 명령 실행

  • docker stop $(docker ps -f ancestor=nginx)
    해당 명령으로 nginx 이름이 포함된 모든 컨테이너 중지



  1. 중지된 컨테이너 확인 및 삭제
  • docker ps -qa -f ancestor=nginx
    => 해당 이름의 중지된 컨테이너 확인

  • docker rm $(docker ps -qa -f ancestor=nginx)



  1. 중지된 이미지 확인
  • docker images -q nginx
    => nginx 이름이 포함된 중지된 이미지 확인

  • docker rmi $(docker images -q nginx)
    => 해당 이름의 이미지 모두 삭제



  1. 이미지도 같은 방법으로 모두 삭제가 가능
  • docker images -q ubuntu*
    => 와일드카드를 사용하여 ubuntu 이름이 포함된 모든 이미지를 보여준다.



  • docker rmi $(docker images -q ubuntu*)
    => ubuntu 이름이 포함된 모든 이미지 삭제



profile
Do your best every moment

0개의 댓글