본문 바로가기
반응형

분류 전체보기323

탈무드에서 인생을 만나다 - 공병호 탈무드, 얘기는 많이 들었지만 어떤 내용이 있는지 처음으로 접해봤다(실제 탈무드를 읽은건 아니지만). 유대인들이 지금까지 어떻게 세상에 많은 업적을 남기고 잘나가는지 이해할 수 있다. 어렸을 때 부터 탈무드를 통해 현실적인 교훈을 배우니 가능한 것 같다. 특히, 단순히 착하게만 사는것이 아니라 돈과 일에 대한 현실적인 직언은 와닿는다. 누구도 먹고 사는 문제에서 자유로울 수 없다 돈이 없으면 자유를 잃는다. 우리 몸속의 모든 장기는 심장에 의존하는데, 심장은 지갑에 의존한다. 가난한 사람은 죽은자와 같다 . 경제력이 흔들리면 가정도 흔들린다. 부자라면 부를 즐길 수 있어야 하고, 또 자신에 주언진 몫과 운명에 만족할 수 있어야 한다. 부는 물질적인 거과 더불어 정신적인 것, 지적인 것, 육체적인 것 등을.. 2022. 9. 13.
SpringBoot Redis 세션 사용 SpringBootd에서 간단한 설정만으로 메모리 기반의 세션관리에서 Redis 기반의 세션관리로 적용이 가능하다. 세션 Storage로 Redis를 사용하면 토큰을 사용하지 않는 환경에서도 세션 공유에 대한 부담없이 유연하게 어플리케이션의 Scale-Out이 가능하다. Redis 구성 Redis를 자체를 테스트하는 것이 아님으로 간단하게 Docker로 구성한다. 아래 명령으로 Redis 컨테이너를 실행한다. docker run --name redis -p 6379:6379 -d redis 테스트용 Redis 준비는 이걸로 끝이다. SpringBoot 설정 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-data-redis' imp.. 2022. 9. 6.
Docker Multi Application(여러 어플리케이션) 실행 컨테이너 사용 시 자주 발생할 것 같지도 않고, 컨테이너 사상과도 안맞을 것 같지만 한개의 컨테이너에서 여러개의 프로그램을 실행해야하는 일이 생겼다. 기존 시스템을 컨테이너로 전환하면서 내부적인 상황으로 컨테이너를 분리하지 못하고 한개 컨테이너로 실행을 해야 하는 경우인데 처음에는 좀 막막했지만 생각보다 간단했다. 결론부터 얘기하자면, 컨테이너에서 메인 프로그램은 일반적인 컨테이너처럼 포그라운드로 실행시키고, 나머지 프로그램들은 백그라운드로 실행을 시키면 된다. 간단히 예를 들어서 한개의 컨테이너에 2개의 어플리케이션을 실행해야 한다고 하면 아래와 같이 구성한다. 먼저 Dockerfile에서 어플리케이션을 컨테이너로 모두 Copy 한다. ... RUN mkdir /app COPY ./app1.jar /a.. 2022. 9. 6.
IntelliJ Docker 빌드&실행 환경(Dockerfile) 매번 커맨드로 Docker 커맨드를 실행하는 것이 번거로운 경우 IntelliJ에서 Docker 실행 환경을 구성할 수 있다. Dockerfile, Docker-Image, Docker-Compose를 활용할 수 있는데 여기서는 Dockerfile 기준으로 실행 환경 구성을 해본다. 먼저 Dockerfile이 포함된 프로젝트를 열고, Run/Debug Configurations를 실행한다. 그리고 좌측에서 Add New Configuration(+)를 선택하고 Docker > Dockerfile을 선택한다. 일반적으로 Docker build, run 시에 사용하는 이름, 옵션 등을 화면에서 입력 한다. 기본적인 옵션 외에도 'Build'영역의 Modify options나 'Run'영역의 Modify를 클.. 2022. 9. 5.
Tomcat SymbolicLink(심볼릭링크) 허용 Tomcat 구성 중에 NAS로 심볼릭링크를 설정했는데 링크가 먹히지 않는 상황이 발생했다. 검색을 해보니 Tomcat은 보안상의 이유로 심볼링 링크를 막는다고 한다. 아래와 같이 conf/context.xml간단한 설정으로 심볼릭링크를 허용할 수 있다. 참고로 아래는 Tomcat 버전은 8버전 이상인 경우에 해당하는 설정이다. ... Tomcat 7버전 이하에는 conf/server.xml에서 context부분에 allowLinking="true"를 추가한다. 참고로 심볼릭링크를 사용하면 성능적으로는 좀 안좋다는 얘기가 있다. 필요한 경우에만 사용하자 2022. 9. 5.
AWS CodePipeLine ECS 배포 구성 AWS Code PipeLine을 사용하여 ECS에 배포하는 구성을 정리해본다. 어플리케이션은 nginx 이미지를 사용한다. 1. 소스 준비(CodeCommit) 배포 테스트를 위해 nginx용 테스트 컨테이너 소스를 작성한다. index.html 파일은 기본 index.hml 파일을 대체하기 위한 테스트용도이다. Docker Container Nginx Dockerfile은 다음과 같이 작성한다. FROM nginx:1.21.1 COPY ./index.html /usr/share/nginx/html/index.html EXPOSE 80 CodeBuild 사용을 위해 buildspec.yml 파일을 작성한다. env 항목의 AWS_ACCOUNT_ID는 각자의 ID로 등록한다. version: 0.2 en.. 2022. 8. 26.
Docker Nginx Simple 컨테이너 생성 컨테이너 기반으로 k8s나 배포 구성 등을 테스트를 할 때 실제 어플리케이션이 아니더라도 테스트용 컨테이너 하나쯤은 필요하다. 그때그때 매번 만들어서 테스트를 했는데 간단한 nginx 컨테이너 하나를 정리해본다. 먼저 디렉토리 하나 생성하고 Dockerfile, index.html 파일 2개를 생성한다. Dockerfile은 아래와 같이 작성한다. FROM nginx:1.21.1 COPY ./index.html /usr/share/nginx/html/index.html EXPOSE 80 다음으로 index.html은 다음과 같이 작성한다. Docker Container Nginx 필요한 파일은 모두 준비됐고 로컬에서 한번 실행되는지만 본다. 생성한 디렉토리로 이동 후 아래 명령들을 차례로 실행한다. # .. 2022. 8. 26.
Docker Keep Running(실행 유지) 방법 Docker로 작업을 할 때 테스트, 디버깅 등의 목적으로 컨테이너 실행 상태를 유지하고 싶을 때가 있는데 어떻게 하는지 알아본다. 기본적으로 컨테이너는 내부 프로세스가 종료가 되면 컨테이너도 종료가 된다. 이는 컨테이너 프로세스를 백그라운드가 아닌 포그라운드로 실행을 하는 이유이기도 하다. 아래를 보면 기본 ubuntu이미지를 실행하고 docker 프로세스를 조회해보면 STATUS는 종료됐다고 나온다 docker run -d ubuntu 테스트나 디버깅을 목적으로 컨테이너에 접속해서 뭔가를 하고 싶은데 컨테이너는 종료가 된 상태이다. 다음과 같이 "-t" 옵션과 함께 실행을 하면 컨테이너를 실행상태로 유지를 할 수 있다. docker run -d -t ubuntu 컨테이너가 실행상태를 유지하고 컨테이너.. 2022. 8. 26.
반응형