일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- network
- 클라우드엔지니어
- 컴퓨터
- 가상화
- 시스템엔지니어
- Entra ID
- 리눅스마스터1급
- 클라우드
- Server
- SE
- aws
- windows
- cloud
- 리눅스
- Microsoft
- 시트릭스
- cloud engineer
- Microsoft 365
- It
- windows server
- Microsoft Azure
- 네트워크
- 그룹정책
- 시스템 엔지니어
- Azure AD
- 메일보안
- Exchange Online
- Linux
- Azure
- Docker
- Today
- Total
Cloud System Engineer
컨테이너 자원 할당 제한 본문
컨테이너를 생성할 때 아무런 옵션없이 생성하면 호스트의 자원을 무한정 제한 없이 쓸 수 있다. 이런 문제를 해결하기 위해 우리는 자원제한을 해야한다. 현재 컨테이너에 설정된 자원 제한을 확인하기 위해 다음과 같이 한다.
# docker inspect rsyslog_server
예컨대, CPU 할당을 제한하려면 다음과 같이 한다.
# docker update (변경할 자원 제한) (컨테이너 이름)
# docker update --cpuset-cpus=1 rsyslog_server
1) 컨테이너 메모리 제한
도커에서 사용할 수 있는 메모리 사용량을 1GB로 제한해 보자.
# docker run -d --memory="1g" --name memory_1g nginx
# docker inspect memory_1g | grep \"Memory\"
다음과 같은 경우 메모리가 부족해 컨테이너가 실행되지 않는다.
# docker run -d --name memory_4m --memory="4m" mysql:5.7
기본적으로 컨테이너의 Swap 메모리는 호스트메모리의 2배로 설정되지만 별도로 지정할 수 있다.
# docker run -it --name swap_500m --memory=200m --memory-swap=500m ubuntu:14.04
2) 컨테이너 CPU 제한
--cpu-shares 옵션은 컨테이너에 가중치를 설정해 해당 컨테이너가 CPU를 상대적으로 얼마나 사용할 수 있는지를 나타낸다. 우선 1개의 CPU를 가지는 호스트에서 테스트해 본다.
# docker run -d --name cpu_1024 --cpu-shares 1024 alicek106/stress stress --cpu 1
# ps aux | grep stress // CPU 사용율은 100 가량 된다.
'리눅스 > docker' 카테고리의 다른 글
도커 이미지 배포 (0) | 2021.02.03 |
---|---|
도커 cpu 자원 할당 (0) | 2021.02.01 |
컨테이너 로깅 (0) | 2021.01.31 |
MAC VLAN 네트워크 (0) | 2021.01.29 |
도커 네트워크 (0) | 2021.01.29 |