리눅스 부하 테스트
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 생긴 것을 확인 가능하다.
- 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 |