7-2.Docker Container Storage

2024. 5. 3. 15:56·쿠버네티스/docker
  1. mysql DB data 영구 보존하기
    1. docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pass mysql:latest
      • host path (/dbdata) 와 container path (/var/lib/mysql) 를 연결시켜 볼륨마운트를 통해 연결
      • container path 에 db 의 컨텐츠가 쌓이는데 이를 /dbdata 에 영구적으로 보존.
    2. docker  run -v <hostpath>:<container mount path> 실행하기
      • 경로 및 실행중인 docker 확인
        • /dbdata 경로 없음, 실행중인 docker .없음.
      • docker run -d --name db -v /dbdata:/var/lib/mysql-e MYSQL_ROOT_PASSWORD=pass mysql:latest 실행
        • /dbdata 경로 생성, 실행중인 docker 있음
        • container db 및 db mysql deamon 가 실행중인 상태
      • docker 실행하여 데이터 확인하기.
        • 동작중인 컨테이너에 접속
        • root 유저에 password = pass 로 접속
      • 컨테이너 내 데이터 생성 (dbdata 에 저장됨)
        • database 생성
        • dbdata 파일 확인하기 (rusharp가 있는 것을 볼 수 있음)
      • docker 종료 후 data 남아있는 지 확인
        • docker 종료 후 /dbdata 확인
    3. docker  run -v <container mount path> 실행하기
      • docker run -d --name db -v /var/lib/mysql-e MYSQL_ROOT_PASSWORD=pass mysql:latest 실행
      • docker inspect [컨테이너명] : 컨테이너 세부정보 보기
        • host path 가 /var/lib/docker/volumes/UUID/_data 로 지정됨
      • host path 확인하기
      • docker 종료 후 확인하기
    4.  docker volumes [command] : 볼륨과 관련된 커맨드 실행
      • docker volumes ls : local 내 볼륨 UUID 목록 보여짐
      • docker volume rm [UUID] : 해당 volume 삭제
  2. 웹데이터 readonly 서비스로 지원하기
    • docker  run -v <host path>:<container mount path>:<read write mode> 실행
  3. 컨테이너 간 데이터 공유하기
    1. df 명령어 : 디스크 사용량 모니터링
    2. 디스크 사용량 결과를 주기적으로 만들어내는 컨테이너 만들기.
      • df.sh 파일 만들기
        • subdirectory /webdata 만들기
        • df -h 결과를 /webdata/index.html 만듬
        • 10초간 sleep 후 다시 반복해서 실행
      • dockerfile 만들기

        • df.sh 파일을 ubuntu:18.04의 컨테이너 폴더에 저장함.
        • chmod  를 실행하여 /bin/df.sh 실행하도록 빌드.
      • docker build
      • docker image 목록에서 확인하기
    3. 컨테이너 데이터 공유하기
      • 디스크 사용량을 주기적으로 만들어 /webdata에 입력함.
      • /webdata 의 data를 /usr/share/nginx/html 에 read only로 실행
      • 실행 결과 확인

 

'쿠버네티스 > docker' 카테고리의 다른 글

8-2. 컨테이너간 통신(네트워크)  (0) 2024.05.07
8-1. 컨테이너간 통신(네트워크)  (1) 2024.05.03
7-1. Docker Container Storage  (1) 2024.05.01
6-2. 컨테이너 리소스 관리하기.  (0) 2024.04.30
6-1. 컨테이너 관리(하드웨어 리스소 제한 및 컨테이너 모니터링)  (1) 2024.04.30
'쿠버네티스/docker' 카테고리의 다른 글
  • 8-2. 컨테이너간 통신(네트워크)
  • 8-1. 컨테이너간 통신(네트워크)
  • 7-1. Docker Container Storage
  • 6-2. 컨테이너 리소스 관리하기.
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (195)
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (33)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
        • 제4회 QA conference (3)
      • 에러일기 (1)
      • Server&load (35)
        • AWS (27)
        • load test (5)
        • CI CD (3)
        • Jmeter (0)
      • RAG 을 활용하여 LLM 만들어보기 (12)
      • git&github (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    테스트 결과보고서
    앱공존성
    .cpu
    qa 컨퍼런스
    로스트아크api
    애플리케이션로그
    QAKOREA
    네트워크 테스트
    쿠버네티스
    LOSTARK
    postman
    스터디
    리눅스
    qa
    python
    공존성테스트
    도커
    application log
    API
    포스트맨
    테스트스크립트
    로스트아크
    개발자에서아키텍트로
    e2c
    qa conference
    linux
    vi에디터
    cka
    사드웨어리소스
    k8s
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
7-2.Docker Container Storage
상단으로

티스토리툴바