컨테이너 관리하기

2024. 12. 4. 21:00·Infra

리눅스 부하 테스트

stress tool 사용하기

부하 발생시킬 container 생성

90mega로 부하동작 시켜보기

컨테이너 리소스 제한

컨테이너 사용 리소스 확인

cAdvisor 동작시켜보기

  • cAdvisor github 이용해서 다운 받으면 cadviosr 도커 컨테이너가 동작한다.

cadviosr container에 접근하는 방법

  • 먼저 cadvisor가 8080포트를 이용중이어서 포트포워딩 해주기

  • 그리고 localhost:108으로 접속하기

docker stats로도 cpu momory block I/O 정보 확인 가능



데이터 영구적으로 보존하는 방법

  • 도커 컨테이너에 있는 데이터를 나의 host에 저장한다.
  • docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pass mysql:lates
    위의 명령어는 mysql 컨테이너에서 /var/lib/mysql에 있는 데이터를 나의 호스트 /dbdata 디렉토리에 저장하도록한다. mysql은 비밀번호 포함시켜야한다.

데이터 잘 보존 되는지 확인하기

1.

  • 실행중인 db라는 이름의 mysql 컨테이너에 접근하기

  • 컨테이너 안의 db에 db 만들기
  • host에 내가 만든 db 생긴 것을 확인 가능하다.
  1. host의 위치 지정 안해주어도 자동으로 저장된다.
    EX) docker run -d -v /var/lib/mysql -e MYSQL_PASSWORD=pass mysql:latest
    docker inspect [컨테이너 이름] 명령어로 확인해 보면 어느 위치에 저장 되었는지 확인도 가능하다.



host에 저장된 데이터를 volume mount를 통해 컨테이너에 제공해서 client가 컨테이너를 접속해서 서비스를 이용하게 만들어보기

  • 호스트의 webdata에 저장된 파일이 read only 상태로 web이라는 이름의 nginx 컨테이너 안에 /var/share/nginx/html 디렉토리에서 사용 가능하게 하는 명령어


컨테이너끼리 데이터 공유하기

  • 컨테이너에서 host의 디렉토리에 volume mount하고 host 디렉토리에서 다른 컨테이너로 다시 volume mount하면 된다.

  • 먼저 데이터를 생성해내는 컨테이너 만들기 위해서 shell script 파일 작성하고 dockerfile 만들고 빌드해주면 image 생성

  • 그리고 host의 index.html을 web server 컨테이너에 volume mount하면 컨테이너끼리 공유하게 된다.

  • host의 webdata 디렉토리에 volume mount 해주는 dfc라는 container 실행

컨테이너 네트워크

  • bridge Network를 통해서 모든 컨테이너가 외부로 송출될 수 있다.

user-defined network

  • 내가 직접 네트워크 구성하는 방법 - 192.168.100.0/24는 서브넷, 192.168.100.254는 게이트웨이
  • network 생성후 도커 실행시킬 때 --net mynet 명령어 추가로 네트워크 설정 가능하다.
  • -ip 원하는 ip 명령어 추가해서 static ip 설정 가능

컨테이너끼리 연결 시키기

  • mysql 컨테이너 실행 (-d backgroud 모드에서 mysql이라는 이름으로 -v /dbdata라는 호스트 공간으로 /var/lib/mysql로 볼륨 마운트 되고 mysql 컨테이 실행시 필요한 비밀번호와 wordpress 서버에서 접속 가능하게 비밀번호 설정까지 정의)
  • wordpress 컨테이너 실행 ( --link를 이용해서 mysql 이름 컨테이너(앞에가 연결하고자 하는것)와 연결,-e mysql 연동시 필요한 password, -p 포트포워딩)

출처: https://www.youtube.com/watch?v=TM3DvwwvsLg&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi&index=18

'Infra' 카테고리의 다른 글

AWS IAM 계정 공유 와 AWS 서비스에 IAM 역할 적용  (0) 2024.12.04
Docker-compose 다루기  (0) 2024.12.04
컨테이너 다루기  (0) 2024.12.04
가상화 다루기  (0) 2024.12.04
리버스 프록시와 로드 밸런서가 다른건가?  (0) 2024.06.19
'Infra' 카테고리의 다른 글
  • AWS IAM 계정 공유 와 AWS 서비스에 IAM 역할 적용
  • Docker-compose 다루기
  • 컨테이너 다루기
  • 가상화 다루기
khjoon
khjoon
  • khjoon
    기록기록
    khjoon
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • Security (1)
      • Dev (14)
      • Infra (12)
      • Ops (9)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
khjoon
컨테이너 관리하기
상단으로

티스토리툴바