본문 바로가기

반응형

전체 글

[Docker] Dockerfile을이용하여 Spring 프로젝트 Image 생성 및 실행 Dockerfile Dockerfile은 새로운 image 를 만들기 위한 명령을 포함하고 있는 파일이다. 이 파일에 작성된 명령어와 base image를 통해 새로운 환경의 image를 만들 수 있다. Spring Project에 Dockerfile 생성 및 작성 아래 사진과 같이 자신의 Spring 프로젝트 폴더에 Dockerfile 이라는 이름의 파일을 생성해 준다. FROM openjdk:18-ea-jdk-slim VOLUME /tmp COPY build/libs/community-service-0.0.1-SNAPSHOT.jar community-service.jar ENTRYPOINT ["java","-jar","community-service.jar"] 작성 내용 FROM : 새로 생성할 Im.. 더보기
[Docker] Docker 명령어 (추가 중) Image docker image ls(= docker images)- 현재 로컬에 다운로드 받은 Image 목록 docker rmi [image id] - id에 해당하는 image 삭제 Network docker network ls - 도커에 생성된 네트워크 리스트 docker network create [option] [네트워크 이름] - 네트워크 생성 docker network inspect [네트워크 이름] - 해당 네트워크 정보 docker network rm [네트워크 이름] - 해당 네트워크 삭제 Container docker container ls(= docker ps ) - 현재 실행중인 Docker Container 목록의 상태 및 정보 docker container ls -a - 삭.. 더보기
[Docker] Docker PostgreSQL 설치 및 실행 환경 mac - monterey 12.0.1 postgres - 14.1 spring boot - 2.5.2 docker - 20.10.10 PostgreSQL Image 설치 및 실행 먼저 DockerHub 에서 Postgres 버전을 확인해 주고 아래 명령어를 실행해 주면 Postgres Container 를 실행 (없다면 설치까지) 할 수 있다. docker run -it --rm --name postgres-test -e POSTGRES_PASSWORD=password -p 5432:5432 -d postgres 명령어 설명 (Docker 명령어) -it : 컨테이너가 실행 후 터미널 명령어를 입력하기 위해 사용 (-i 와 -t 옵션을 같이 사용하는 것) --rm : postgres 프로세스가 종.. 더보기
[Docker] Docker Desktop 설치 및 사용법 (for mac) Docker Desktop 설치 먼저 도커 데스크탑버전 설치를 위해 도커 공식사이트에 접속해서 상당 Product -> Docker Destop 을 클릭하고 자신의 os 버전에 맞게 선택해 설치를 한다. 설치가 완료되면 mac 의경우 우측 상단에 Docker 아이콘이 표시되고 윈도우의 경우 우측 하단 트레이에 Docker 아이콘이 표시된다. Docker 실행 및 Dashboard Docker Dashboard 를 실행하면 다음과같은 화면을 확인할 수 있다. 우측 하단 초록색 불이 들어오면 정상적으로 동작 상태임을 확인할 수 있다. 처음 사용하는 사람은 Containers/Apps 와 Images 탭이 비어있을것이다. Containers/Apps 탭은 Image로 만들었던 Container목록 및 Cont.. 더보기
[ELK] Filebeat 설치 및 시작 for Mac (Elasticsearch, Kibana 연동) 환경 Filebeat - 7.15.2 Elasticsearch - 7.10.2 kibana - 7.10.2 mac - monterey 12.0.1 구조 filebeat -> elasticsearch -> kibana 위의 구조로 logstash 없이 간단한 로그 데이터를 Elasticsearch와 kibana를 통해 시각화 Elasticsearch 로 전달되는 로그 데이터는 Spring Boot Logback을 통해 json 포맷으로 변환되어 로그 데이터가 저장됨. Filebeat 설치 brew install filebeat mac에서는 brew 명령어를 통해 filebeat를 간단하게 설치할 수 있다. * xcode의 버전이 낮은경우 설치가 안 되는 경우가 있음. 설치가 다 되면 /usr/local/e.. 더보기
[ELK] Logstash 와 Filebeat의 차이 Logstash 데이터 집계, 변환, 저장 실시간 파이프라인 기능을 가진 오픈소스 데이터 수집 엔진이다. 서로 다른 소스의 데이터를 탄력적으로 통합하고 사용자가 선택한 목적지로 데이터를 정규화할 수 있다. Elasticsearch의 데이터 파이프라인으로 주로 사용된다. 장점 Filebeat에 비해 Logstash는 다양한 Input, Output을 가지고 있다. grok 등 여러가지 Filter 기능 제공을 통해 Input된 데이터를 필요한 형태로 가공이 가능하다. 단점 Filebeat에 비해 많은 Resource가 소모된다. Filebeat 여러 종류의(주로 로그파일) 데이터들을 서버에서 다른 곳으로 전송하기위한 open source 프로그램 로그 데이터를 전달하고 중앙화하기 위한 경량의 Produce.. 더보기
[Spring] Spring Boot 로그 - slf4j 와 Logback, Log4j2 의 차이점 Spring Boot의 로그 2021-11-11 11:10:58.789 INFO 40789 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.48] 2021-11-11 11:10:59.074 INFO 40789 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-11-11 11:10:59.075 INFO 40789 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationC.. 더보기
[Spring] 객체 지향 설계 5가지 - SOLID 단일 책임 원칙 (Single Responsibility Principle) - "모든 클래스 단 한개의 책임을 가져야 한다" 하나의 클래스가 두가지 다른 원인으로 변경되어야 한다면 두 개 이상의 책임을 가진것이므로 원칙에 어긋난다. 개방-폐쇄 원칙 (Open-Closed Principle) - "확장에는 열려있고, 수정에는 닫혀 있어야 한다" 기존의 코드의 수정(수정에 닫혀)없이 새로운 기능을 추가(확장에 열려)할 수 있게 해준다. 공통되는 기능들을 인터페이스로 추상화하여 기능을 고정 지키지 않을 시 기능 추가 시 마다 타입 체크 및 if문을 통한 조건이 같이 추가됨. 리스코프 치환 원칙 (Liskov Substitution Principle) - "상위 타입의 객체를 하위 타입의 객체로 치환해도 상위.. 더보기

반응형