본문 바로가기
반응형

전체 글316

STS(Eclipse) git failed to write credential 에러 STS(Eclipse)에서 git 관련 pull, push 등 명령을 수행할 때 메시지창이 뜨면서 failed to write credential 에러 메시지가 나타는 경우가 있다. 아래 메시지가 뜨면 매번 git 계정정보를 작업 시 마다 입력해줘야 되서 많이 불편하다. 이 현상이 나타나는 이유는 STS의 git 저장소 Key가 꼬여서 나타나는 현상으로 저장된 Key를 모두 삭제해주면 해결 된다. 삭제 방법은 STS에 "Preferences > General > Security > Secure Storage > Contents(탭)" 메뉴로 접속해서 GIT 부분의 내용을 삭제하면 된다. 2022. 9. 18.
탈무드에서 인생을 만나다 - 공병호 탈무드, 얘기는 많이 들었지만 어떤 내용이 있는지 처음으로 접해봤다(실제 탈무드를 읽은건 아니지만). 유대인들이 지금까지 어떻게 세상에 많은 업적을 남기고 잘나가는지 이해할 수 있다. 어렸을 때 부터 탈무드를 통해 현실적인 교훈을 배우니 가능한 것 같다. 특히, 단순히 착하게만 사는것이 아니라 돈과 일에 대한 현실적인 직언은 와닿는다. 누구도 먹고 사는 문제에서 자유로울 수 없다 돈이 없으면 자유를 잃는다. 우리 몸속의 모든 장기는 심장에 의존하는데, 심장은 지갑에 의존한다. 가난한 사람은 죽은자와 같다 . 경제력이 흔들리면 가정도 흔들린다. 부자라면 부를 즐길 수 있어야 하고, 또 자신에 주언진 몫과 운명에 만족할 수 있어야 한다. 부는 물질적인 거과 더불어 정신적인 것, 지적인 것, 육체적인 것 등을.. 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.
Docker 컨테이너 apt-get install Unable to locate package 에러 간혹 컨테이너 내부에 접속해서 테스트를 위해 패키지를 직접 설치하는 경우가 있다. 이럴 때 Docker 컨테이너 내부에서 apt-get install을 통해 패키지를 설치하면 Unable to locate package가 발생하고 설치가 되지 않는 경우가 있다. 아래는 vim을 설치했을 때의 예이다. Unable to locate package 예외가 발생 했을 때에 apt-get update를 먼저 실행해준다. apt-get update 위와 같이 update가 실행되고, 다시 apt-get install로 원하는 패키지를 설치하면 정상적으로 설치가 된다 apt-get install vim 이제 필요한 패키지들을 설치해서 테스트 컨테이너 테스트를 하면 된다. 2022. 8. 26.
반응형