목록쿠버네티스, 도커 (23)
rueki
* Daemon 실행중이여야함. 실행중이지 않다면, "dockerd &" 으로 백그라운드에서 실행 가능. - ip address 확인 ip addr brctl show docker0 ip addr로 확인하면 아래와 같이 뜬다. 172.17.0.1이 docker0의 ip address이다. docker host의 ip는 eth0에서 확인이 가능하다. - 예제 컨테이너 생성하기 docker run -it --name c1 busybox 만든 1번 컨테이너는 172.17.0.3으로 할당된 것을 볼 수 있다. 나는 지금 nginx 컨테이너가 172.17.0.3으로 되있고, c1, c2 예제 컨테이너는 각각 4, 5 번으로 할당되어 있다. - 포트포워딩 : 컨테이너 포트를 외부로 노출시켜서 외부 연결을 허용 do..
컨테이너 내의 데이터를 영구적으로 보존하기 위해서 host 내에 하나의 저장소를 만들어주는데 volume mount를 통해서 할 수가 있다. 그러면 컨테이너를 혹시나 삭제하더라도 데이터를 영구적으로 보관할 수 있는 것이다. volume 옵션은 -v를 통해서 할 수가 있다. read wirte mode는 생략 가능하며 default가 read write이다. docker run -d -v '::' 실습으로 컨테이너의 mysql 데이터를 영구적으로 보관할 수 있는지 해보자. docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pass mysql:latest -e 옵션에 root 계정 패스워드를 설정하고 run을 진행해야한다. -v..
네임 스페이스 : 쿠버네티스는 동일한 물리 클러스터를 기반으로 하는 여러 가상 클러스터를 지원한다. 이런 가상 클러스터를 네임스페이스라고 한다. (공식문서 정의) 하나의 클러스터를 여거 개의 논리적인 단위로 나누어서 사용을 하는 것을 네임스페이스라고 한다. 네임스페이스의 장점은 해당 네임스페이스에서만 동작되는 것 및 정보를 볼 수가 있다는 것이다. 하나의 API를 여러개의 API가 존재하는 것처럼 나누어서 각 API를 관리하기 정말 좋을 것 같다. 생성 방법 kubectl create namespace "네임스페이스 이름" --dry-run : 실행 가능 여부만 확인하기 kubectl create namespace red --dry-run -o yaml 실행 가능 여부에 대해서 yaml파일로 출력해준다...
여러 컨테이너가 동작 중일 때, 컨테이너 필요한 만큼의 리소스만 할당을 해야 서로 잘 동작할 것이다. Docker 명령어로 하드웨서 리소스를 관리할 수 있다. (Cpu, 메모리 등등..) * 메모리 리소스 제한 --memory, -m : 컨테이너가 사용할 최대 메모리 양을 지정 docker run -d -m 512m "컨테이너:태그" --memory-reservation : 선언안 메모리 값보다 적은 값으로 구성하는 소프트 제한 값을 설정한다. docker run -d -m 1g --memory-reservation 500m "컨테이너:태그" 최소 500은 보장해준다는 의미 --memory-swap : 컨테이너가 사용할 스왑 메모리 영역 설정 swap 사이즈는 기존 메모리 사이즈 포함되어 있음 docke..