스터디 노트
-
[Docker + Spring Boot] Spring boot jar 배포 시 도커 컨테이너 내 파일 위치 확인(app.jar)스터디 노트 2025. 3. 25. 22:00
Docker에서 Spring Boot로 만들어진 jar 이미지를 배포하게 되면 jar 내부 내장 톰캣을 통하여 컨테이너가 구동되게 됩니다.이럴 경우 컨테이너 내부에서 파일의 위치를 따로 폴더 형식으로 찾을 수가 없습니다.이럴 경우 root의 app.jar 파일을 확인해볼 수 있습니다. JAR 명령어로 확인Spring Boot JAR 파일은 Java 실행 환경에서 jar 명령어를 사용할 수 있습니다.docker exec -it /bin/sh컨테이너 내에서 아래 명령어 실행:jar tf /app/app.jar | grep application.yml jar tf : JAR 내부의 파일 목록을 확인하는 명령어grep application.yml : 설정 파일이 있는지 찾기📌 출력 예시BOOT-INF/cl..
-
[Spring Security 3.x + JWT] PermitAll() 이 정상적으로 인식이 되지 않을 경우스터디 노트 2024. 9. 22. 12:36
JWT Filter를 활용한 로그인 기능을 구현하던 중, 회원가입 API를 호출하니 권한이 없다는 황당한 오류를 맞이하게 되었습니다.분명히 httpSecurity에 authorizeHttpRequests부분에 PermitAll로 회원가입과 로그인을 처리하는 auth 하위 URI는 모두 허용하도록 처리를 하였음에도 불구하고 JWT Filter를 타면서 token검증을 하더군요.. 실제로 인증을 하지 않으며 무조건 허용하도록 설정을 했음에도 정상 동작하지 않아 파악을 해보니, permitAll()을 설정해도 무조건 Spring Security의 필터 체인을 거친다는 것을 알게 되었습니다. 이유는 알았고 이제 해결 방법을 찾아야지요.해결 방법은 매우 간단했습니다.기본적인 Security Config를 사용한다..
-
[Mac] 실행중인 포트 확인 및 종료 방법스터디 노트 2024. 8. 19. 09:34
가끔 개발을 하다 보면 의도치 않게 Local Tomcat을 실행한 후 종료시켜버리는 경우들이 더러 있습니다.그 후 다시 로컬 톰캣을 실행하면 항상 해당 포트가 사용중이라는 문구가 뜨곤 하죠.. 가볍게 맥에서 사용중인 포트를 스캐닝하고 원하는 포트를 종료시키는 명령어를 공유해볼까 합니다.Operating System/Mac OS1. 현재 열린 포트 목록 확인 sudo lsof -PiTCP -sTCP:LISTEN2. 특정 포트를 찾아 종료하고 싶을 때 특정 포트의 PID 찾기 sudo lsof -i :8080 위에서 구한 PID로 종료: sudo kill -9 {PID} 전체 사용중인 포트를 리스트업해보면 아래와 같이 나옵니다. 아래의 리스트에서 원하는 포트를 체크하시면 됩니다. 둘째론 원하는 포트를..
-
Ubuntu docker 설치 명령어 모음스터디 노트 2024. 7. 25. 21:06
1. 관리자 권한 주기sudo su2. 우분투 시스템 패키지 업데이트apt-get update3. 필요한 패키지 설치apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common4. Docker의 공식 GPG키를 추가curl -fsSL | sudo apt-key add -5. Docker의 공식 apt 저장소를 추가add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"6. 시스템 패키지 업데이트apt-get update7. Docker 설치apt-get install docker-ce docker-ce-cli containerd.io8..
-
[Docker] Container에서 사용중인 포트 확인하기스터디 노트 2024. 6. 4. 16:15
Docker container에서 사용 중인 포트를 확인하려면 다음과 같이 사용하면 됩니다.순서는 다음과 같습니다. 1. 컨테이너의 PID를 조회합니다.// 사용중인 컨테이너가 tomcat 이라면docker inspect -f '{{.State.Pid}}' tomcat>> 3584 [PID] 2. 조회된 PID를 사용해 Container를 지정하여 사용중인 포트를 확인합니다.// 조회된 PID를 활용하여 열려있는 Port를 확인>> sudo nsenter -t 3584 -n netstat -tuplnActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State ..
-
Nginx 설치 및 Reverse Proxy 설정스터디 노트 2024. 5. 14. 16:17
nginx를 활용하여 리버스 프록시를 설정해보려고 합니다.SSL 인증서가 존재한다는 가정 하에 작성한 것이니 참고 부탁드립니다. // nginx 설치sudo apt-get updatesudo apt-get install nginxnginx가 설치가 되고 나면 nginx -v로 버전을 확인할 수 있습니다.기본 파일 경로로는 /etc/nginx를 확인하면 됩니다. 해당 위치(/etc/nginx/)에서 conf.d 폴더 내부에 default.conf 파일에 SSL과 Proxy 설정을 해줄 수 있습니다.server { server_name [Server의 Domain 이름]; // SSL Port(443) Listen 설정 listen [::]:443 ssl; listen 443 ssl; // SS..
-
Host <-> Docker 간 파일 전송 명령어 (docker cp)스터디 노트 2024. 5. 14. 16:02
docker container와 host간의 파일 송수신을 위해선 docker의 cp명령어를 사용해야 합니다.// 1. Host -> Container로 송신 시docker cp [host 파일 경로] [container name]:[container 내부 파일 수신 경로]// 2. Container -> Host로 송신 시docker cp [container name]:[container 파일 경로] [host 내부 파일 수신 경로]
-
[SPRING BOOT] jar가 아닌 war로 배포 및 구동을 원할 경우스터디 노트 2024. 2. 23. 10:57
소스코드를 보다보니 Spring Boot 프로젝트임에도 불구하고 희한한 코드를 볼 수 있었습니다. @SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 여기서 눈길을 끈 부분은 Sprin..