본문 바로가기
반응형

Docker30

[Kubernetes] : 네임스페이스(Namespace) 언급. 도커, 도커 스웜 모드는 컨테이너를 논리적으로 구분하는 방법이 없었다. 용도에 따라 컨테이너와 그에 관련된 리소스를 구분해 관리할 수 있는 논리적 그룹이 있으면 좀 더 편할 것이다. 쿠버네티스에서 이런 일을 네임스페이스(Namespace)가 해준다. 네임스페이스는 포드, 레플리카셋, 디플로이먼트, 서비스와 같은 쿠버네티스 리소스들이 묶여 있는 하나의 가상 공간이나 그룹으로 이해하면 된다. 여러 개의 네임스페이스를 사용하면 마치 하나의 클러스터에서 여러 개의 가상 클러스터들을 동시에 사용하는 것 처럼 느낄 수 있다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 3. 23.
[Kubernetes] : 온프레미스 환경에서 LoadBalancer 타입의 서비스 사용 LoadBalancer 타입의 서비스는 클라우드 플랫폼에서 사용되지만 필요에 따라 직접 보유하고 있는 온프레미스 서버에서도 LoadBalancer 타입을 사용할 수 있다. 쿠버네티스가 직접 제공하는 기능은 아니고 MetaILB라는 오픈소스 프로젝트를 사용하면 된다. 단, 유지보수가 지속적이지 않을 수 있으므로 유의해야 하고 공식 문서를 참고하면 된다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 3. 22.
[TIL] : 140 일일 배움을 위한 Today I Learned ! Spring Boot 스프링 부트 강의를 진도나갔고, 학교에서 배운 내용도 간단하게 정리해 봤다. 2022.03.15 - [Framework/Spring Boot] - [Spring Boot] : ComversionServcie 사용해 보기 2022.03.15 - [Framework/Spring Boot] - [Spring Boot] : myBatis와 JPA 간단 정리 2022.03.15 - [Framework/Spring Boot] - [Spring Boot] : 스프링에 Converter 적용하기 2022.03.15 - [Framework/Spring Boot] - [Spring Boot] : 뷰 템플릿에 컨버터 적용하기 Kubernetes 쿠버네티.. 2022. 3. 15.
[TIL] : 138 일일 배움을 위한 Today I Learned ! Spring Boot 스프링 타입 컨버터를 공부하기 전에 간단한 타입 변환을 코딩하고 앞으로 어떤 부분을 학습하게 될 지 체크해 봤다.​ 2022.03.13 - [Framework/Spring Boot] - [Spring Boot] : Spring type converter​ Kubernetes 간단하게 쿠버네티스 설치와 버전 선택에 대해 알아봤다. 2022.03.13 - [Server & System/Kubernetes] - [Kubernetes] : 쿠버네티스 버전 선택 및 설치 2022.03.13 - [Server & System/Kubernetes] - [Kubernetes] : 리눅스 서버에서 도커 엔진만으로 minikube 설치하기​ 2022. 3. 13.
[Docker] : 도커 스웜 모드와 함께 사용하기 stack이 도커 엔진 1.13버전에 추가됐다. 스택은 YAML 파일에서 생성된 컨테이너의 묶음으로 YAML로 스택을 생성하면 YAML에 정의된 서비스가 스웜 모드의 클러스터에서 일괄적으로 생성된다. 스택은 도커 컴포즈 명령인 docker-compose가 아닌 docker stack로 제어해야 한다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 3. 10.
[TIL] : 134 일일 배움을 위한 Today I Learned ! Spring Boot 간단한 예외처리 예제와 이론을 살짝 공부했다. 2022.03.09 - [Framework/Spring Boot] - [Spring Boot] : @ExceptionHandler 사용해 보기(1) Docker 저번에 끝내지 못 했던 YAML 파일 작성하는 방법에 대해 공부했다. 2022.03.09 - [Server & System/Docker] - [Docker] : YAML 파일 작성(2) 2022. 3. 9.
[Docker] : 도커 컴포즈의 프로젝트, 서비스, 컨테이너 도커 컴포즈의 프로젝트, 서비스, 컨테이너 도커 컴포즈는 컨테이너를 프로젝트 및 서비스 단위로 구분하기 떄문에 컨테이너의 이름은 일반적으로 프로젝트이름_서비스이름_서비스내에서컨테이너의번호로 구성되어 있다. 하나의 프로젝트는 여러 개의 서비스로 구성된다. 여러 서비스는 다시 여러 컨테이너로 구성된다. 스웜 모드에서의 서비스와 마찬가지로 하나의 서비스에는 여러 컨테이너가 존재할 수 있도록 컨테이너의 번호를 붙여 서비스 내의 컨테이너를 구분한다. docker-compose scale mysql=2 docker-compose ps 컨테이너 목록을 확인해 보면 서비스의 컨테이너가 늘어난 것을 확인할 수 있다. 컨테이너 수를 늘이고 줄여서 일정하게 유지할 수 있다. docker-compose down 명령어로 프로.. 2022. 3. 8.
[TIL] : 131 일일 배움을 위한 Today I Learned ! Docker 여러 타입의 볼륨 생성과 오버레이 네트워크에 대해 공부했다. 2022.03.06 - [Server & System/Docker] - [Docker] : 사용자 정의 오버레이 네트워크 2022.03.06 - [Server & System/Docker] - [Docker] : 서비스 디스커버리 2022.03.06 - [Server & System/Docker] - [Docker] : volume 타입의 볼륨 생성 2022.03.06 - [Server & System/Docker] - [Docker] : bind 타입의 볼륨 생성 2022.03.06 - [Server & System/Docker] - [Docker] : 스웜 모드에서 볼륨의 한계점.. 2022. 3. 6.
[Docker] : docker_gwbridge 네트워크 docker network ls | grep docker 오버레이 네트워크를 사용하지 않는 컨테이너는 기본적으로 존재하는 브리지 네트워크를 사용해 외부와 연결하지만 오버레이 네트워크는 이와 다른 브리지 네트워크인 docker_gwbridge 네트워크와 함께 상요된다. docker_gwbridge 네트워크는 외부로 나가는 통신 및 오버레이 네트워크의 트래픽 종단덤(VTEP) 역할을 담당하게 된다. docker_gwbridge 네트워크는 컨테이너 내부의 네트워크 인터페이스 카드 중 eth1과 연결된다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 3. 5.
[Docker] : 도커 스웜 네트워크 docker network ls 명령어로 네트워크 목록을 확인할 수 있다. 스웜 모드는 여러 개의 도커 엔진에 같은 컨테이너를 분산해 할당하기 때문에 각 도커 데몬의 네트워크가 하나로 묶인 네트워크 풀이 필요하다. 또, 서비스를 외부로 노출했을 때 어느 노드로 접근을 하더라도 해당 서비스의 컨테이너에 접근할 수 있게 라우팅 기능이 필요하다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 3. 5.
[TIL] : 128 일일 배움을 위한 Today I Learned ! Docker 도커 스웜 모드와 스웜 클래식에 대해 공부하고 있다. 2022.03.03 - [Server & System/Docker] - [Docker] : 도커 파이썬 라이브러리 2022.03.03 - [Server & System/Docker] - [Docker] : 도커 스웜을 사용하는 이유 2022.03.03 - [Server & System/Docker] - [Docker] : 스웜 클래식과 도커 스웜 모드 2022.03.03 - [Server & System/Docker] - [Docker] : 도커 스웜 모드 2022.03.03 - [Server & System/Docker] - [Docker] : 도커 스웜 모드의 구조 Spring Boot.. 2022. 3. 3.
[Docker] : 도커 스웜을 사용하는 이유 도커 스웜을 사용하는 이유 앞에서 보통 하나의 호스트를 기준으로 한다. docker ps 명령어는 하나의 도커 엔진에 존재하는 컨테이너의 목록을 출력하고 create, run 명령어 또한 하나의 도커 엔진에 컨테이너를 생성한다. 하지만 도커를 운영 환경에 실제로 적용하면 조금 달라진다. 하나의 호스트 머신에서 도커 엔진을 구동하다 CPU나 메모리 디스크 용량과 같은 자원이 부족한 경우가 있는데 이때 가장 편한 답은 성능이 좋은 서버를 새로 사는 것 이지만 별로 좋은 방법이 아니고 가장 많이 사용하는 방법은 여러 대의 서버를 클러스터로 만들어 자원을 병렬로 사용하는 것이다. 이렇게 되면 적당한 성능의 서버 여러 대를 하나의 자원 pool로 만들어 사용할 수 있고 성능이 좋은 비싼 서버를 사지 않아도 된다... 2022. 3. 3.
[TIL] : 127 일일 배움을 위한 Today I Learned ! R R언어를 처음 배우기 시작했다. 우선 설치하고 기초를 먼저 예습해봤다. 2022.03.02 - [프로그래밍언어/R] - [R] : R 설치하기 2022.03.02 - [프로그래밍언어/R] - [R] : 함수와 객체 이해하기 2022.03.02 - [프로그래밍언어/R] - [R] : 패키지, Package 2022.03.02 - [프로그래밍언어/R] - [R] : R에서 외부 데이터 읽어 들이는 다양한 방법 Docker 도커 스터디를 진행하면서 약속된 진도를 오늘도 완료했다. 4월 말 까지 마칠 예정이다. 2022.03.02 - [Server & System/Docker] - [Docker] : events, stats, system df 명령어 202.. 2022. 3. 2.
[TIL] : 122 일일 배움을 위한 Today I Learned ! Spring Boot 서블릿 예외 처리에 대해 공부했다. 오류 화면을 제공하고 오류 페이지 작동 원리와 필터, 인터셉터에 대해 실습을 진행했다. 2022.02.25 - [Framework/Spring Boot] - [Spring Boot] : 서블릿 예외 처리 오류 화면 제공 기능 구현하기 2022.02.25 - [Framework/Spring Boot] - [Spring Boot] : 서블릿 예외 처리 오류 페이지 작동 원리 2022.02.25 - [Framework/Spring Boot] - [Spring Boot] : 서블릿 예외 처리 필터 2022.02.25 - [Framework/Spring Boot] - [Spring Boot] : 인터셉터 예.. 2022. 2. 25.
[Docker] : 도커 멀티 스테이지 활용해 빌드하기 멀티 스테이지를 이용한 Dockerfile 빌드하기 애플리케이션을 빌드할 때 많은 의존성 패키지, 라이브러리를 필요로 한다. package main import "fmt" func main() { fmt.Println("hello word") } main.go 파일의 내용 , 텝과 공백 위치 조심해야 한다. FROM golang ADD main.go /root WORKDIR /root RUN go build -o /root/mainApp /root/main.go CMD ["./mainApp"] main.go를 컴파일하고 출력 프로그램을 실행하는 Dockerfile docker build . -t go_helloworld 이제 빌드를 해본다. docker images 명령어 확인 후 실행해 보면 내용에 비.. 2022. 2. 25.
[TIL] : 119 일일 배움을 위한 Today I Learned ! Spring Boot 스프링 부트 공부를 했다. 서블릿 HTTP 세션을 활용해 로그인을 처리했고, 세션을 활용해 타임 아웃이나 설정하기도 한다. 2022.02.22 - [Framework/Spring Boot] - [Spring Boot] : 서블릿 HTTP 세션을 활용해 로그인 처리하기(1) 2022.02.22 - [Framework/Spring Boot] - [Spring Boot] : 서블릿 HTTP 세션을 활용해 로그인 처리하기(2) 2022.02.22 - [Framework/Spring Boot] - [Spring Boot] : Session TimeOut 설정하기 2022.02.22 - [Framework/Spring Boot] - [Sprin.. 2022. 2. 22.
[회고] : 22년 2월 이야기 1. 나와 나를 비교하는 회고 2. 하고 싶은 것이 늘었다. 3. 열심히 하지 않았다. 4. 전체적으로 공부하는 습관을 다시 한 번 잡고 가는 시기 5. TO-DO-LIST 6. 3월에 나는 어떤 공부를 할 것인지 7. 이상하게 요즘 너무 끌리는 게 있다. 8. 작년 딱 오늘, 내가 글을 쓰는 지금 이 날, 1. 나와 나를 비교하는 회고 방학의 끝이자 곧 입학해서 프로그래밍을 배운지 1년이 되는 날이 오고 있다. 2월의 회고는 나와 나를 비교하는 회고가 될 것이다. 1월과 비교하고 앞으로 올 3월과 비교할 것이다. 비교를 통해 얼마나 달라지지 않았고 얼마나 달라질 것인지에 대해 다시 한 번 생각을 해보는 회고가 될 것이다. 2. 하고 싶은 것이 늘었다. 1월과 2월을 비교했을 때 가장 먼저 머릿속에 떠오.. 2022. 2. 22.
[TIL] : 118 일일 배움을 위한 Today I Learned ! Docker 도커 컨테이너 CPU 제한과 이미지에 대해서, 그리고 이미지를 생성하는 방법을 공부했다. 2022.02.21 - [Server & System/Docker] - [Docker] : 도커 컨테이너 CPU 제한 / --cpu-shares 활용하기 2022.02.21 - [Server & System/Docker] - [Docker] : 도커 컨테이너 CPU 제한 / --cpuset-cpu 활용하기 2022.02.21 - [Server & System/Docker] - [Docker] : 도커 컨테이너 CPU 제한 / --cpu-period, --cpu-quota 활용하기 2022.02.21 - [Server & System/Docker] - [D.. 2022. 2. 21.
[TIL] : 117 일일 배움을 위한 Today I Learned ! docker fluentd 로깅에 대해 실습을 진행했는데 아직 익숙하지 않다. 2022.02.20 - [Server & System/Docker] - [Docker] : fluentd 로깅 JavaScript 30일 챌린지 JS 30일 챌린지 마무리하고 있는 중이다. 2022.02.20 - [Project/JavaScript 30일 챌린지] - [JavaScript 30일 챌린지] : 24일차 2022. 2. 20.
[TIL] : 116 일일 배움을 위한 Today I Learned ! Docker docker log에 관해 공부했다. 여러 페이지를 공부했는데 실습한 내용만 올려보기로 했다. 2022.02.19 - [Server & System/Docker] - [Docker] : JSON-FILE Log 사용하기 JavaScript 30일 챌린지 23일차 2022.02.19 - [Project/JavaScript 30일 챌린지] - [JavaScript 30일 챌린지] : 23일차 2022. 2. 19.
[Docker] : JSON-FILE Log 사용하기 JSON-file 로그 사용하기 mysql을 구동하는 컨테이너는 포그라운드에서 실행이 되기 때문에 로그 명령어로 애플리케이션의 상태를 체크할 수 있다. 책에서는 다른 방법도 알려주고 있다. 먼저 mysql을 하나 -d 명령어를 사용해서 하나 만들어주고 docker ps로 확인을 해 봤을 때 돌아가고 있지 않은 것을 확인할 수 있었고 docker ps -a를 실행했을 때 생성은 되어 있는 것을 확인할 수 있었다. docker start 컨테이너명으로 컨테이너를 시작하고 다시 확인을 했을 때 여전히 실행되고 있지 않은 것을 확인할 수 있었는데 이렇게 뭔가 오류가 있는 것 같다고 느낄 때 docker logs 명령어를 쓰면 된다. 이렇게 로그를 출력해서 에러를 체크할 수 있다. 로그가 너무 많으면 --tail.. 2022. 2. 19.
반응형