전체 글 46

Docker 인증서 오류(x509) 해결기: SSL 인증서와의 전쟁

📌 이 글은 Docker & 배포 자동화 시리즈 중 하나입니다.얼마 전 Docker에서 프라이빗 레지스트리에 로그인하려는데, 예상치 못한 "x509: certificate signed by unknown authority" 오류가 발생했다.처음에는 "아, 또 인증서 문제야?" 하며 가볍게 생각했지만, 역시나 SSL 인증서 문제는 한 번 꼬이면 끝없는 삽질(?)이 시작된다는 걸 깨달았다.이 글에서는 Docker의 인증서 검증 오류와 이를 해결하는 과정을 기록한다.나처럼 인증서 때문에 고생하는 사람이 없길 바라며, 해결 방법을 공유합니다 🚀🚨 문제 상황Docker에서 프라이빗 레지스트리에 로그인하려고 하면 다음과 같은 오류가 발생했다.docker login example.com오류 메시지:Error r..

Backend · Infra 2025.02.07

WSL 설치부터 Docker CLI 설치까지 완벽 가이드 🐳

📌 이 글은 Docker & 배포 자동화 시리즈 중 하나입니다.기업 환경에서 Docker를 사용하려면 Docker Desktop이 유료라는 점을 고려해야 합니다. 개인이나 소규모 프로젝트에서는 무료로 사용할 수 있지만, 기업에서는 라이선스 비용이 발생합니다. 따라서, 비용 절감을 위해 WSL(Windows Subsystem for Linux)과 Docker CLI를 활용하는 방법이 추천됩니다. 이 글에서는 WSL 설치부터 Docker CLI 설치까지의 과정을 단계별로 설명하겠습니다. 1️⃣ WSL (Windows Subsystem for Linux) 설치하기1. WSL 활성화WSL을 사용하려면 먼저 기능을 활성화해야 합니다. 관리자 권한으로 PowerShell을 실행한 후 아래 명령어를 입력하세요.ws..

Backend · Infra 2025.02.06

ajax로 다운로드가 안될 때 : Uncaught InvalidStateError: Failed to read the 'responseText' property from 'XMLHttpRequest': The value is only accessible if the object's 'responseType' is '' or 'text' (was 'blob').

파일 다운로드를 하는 방법은 여러가지가 있는데, 가장 간단하게는 location.href = 'api 주소'; 로 구현할 수 있다.  제이쿼리를 쓰고 있는 프로젝트였고, 파일의 크기가 클 수 있기 때문에 사용자들이 기다리는 것을 위해서 spinner 를 다운로드 받는 중에 노출 시키도록 변경 하려고 했다. 단순히 링크만 보내는 것은 파일이 다운로드가 완료 된 후에 spinner를 끄는 것이 불가하기 때문에 ajax를 사용하기로 한다.  일반적으로 Ajax 요청은 JSON,XML,HTML과 같은 텍스트 데이터를 처리하지만, 파일 다운로드의 경우 바이너리데이터(blob)으로 응답이 전달된다. 그렇기 때문에 xhrFields: { responseType: 'blob'} 와 같은 설정이 필요하다.  $.a..

Backend · Infra 2024.10.22

rocky 9 linux 초기 셋팅

회사에서 윈도우에 배포되어 있는 프로젝트를 리눅스로 옮기는 작업이 필요했다. 새로운 서버를 받아서 리눅스를 설치 한 후 아무 것도 없는 서버에서 셋팅부터 작업 하게 되었다. 네트워크 설정RHEL/CentOS/Fedora 같은 RedHat 계열에서는 아래와 같이 파일로 네트워크를 설정한다.sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 // 설정할 네트워크 ifconfig로 확인 후 실제 네트워크가 연결된 곳으로 설정 BOOTPROTO=staticONBOOT=yesIPADDR=192.168.1.10 // 부여할 ip주소NETMASK=255.255.255.0GATEWAY=192.168.1.1 // 보통 GATEWAY는 1번DNS1=8.8.8...

Backend · Infra 2024.10.17

[Windows] 특정 포트 사용 프로세스 종료하기

문제상황 🤔개발 중 인텔리제이에서 서버 종료를 했음에도 불구하고 해당 포트가 여전히 사용중이라 종료해야 했다.  해결방법 🛠️ 1. 명령 프롬프트 실행 - 단축키: Win+R 입력 후, cmd 입력하여 실행 2. 현재 사용중인 포트 확인netstat -ano | findstr: 8080 - 8080 : 확인하려는 포트 번호 - 출력 예시 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1234 - 1234 : 해당 포트를 사용중인 프로세스 ID(PID) 3. pid를 확인하여 프로세스 종료taskkill /f /pid 1234 - /F : 강제 종료 옵션- 1234 : 종료하려는 프로세스의 PID 위 방법을 통해 해당 프로세스..

Backend · Infra 2024.08.08

[Error] No SLF4J providers were found.

잘 돌아가던 프로젝트가 갑자기 로그가 안보였다.SLF4J: No SLF4J providers were found.SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions 1.7.x or earlier. pom.xml을 다 뒤져봤더니, dependency에 2. 버전이 있었다.   org.slf4j slf4j-api ${slf4j.version} SLF4J 2.x 버전과 SLF4J..

Backend · Infra 2024.08.06

[Jenkins] 빌드로 가는 과정

📌 이 글은 Docker & 배포 자동화 시리즈 중 하나입니다.회사 프로젝트는 셋팅 된 값들이 많아서 build.sh로 스크립트 기반 빌드 시스템으로 되어있었다. 또한 svn으로 형상관리를 하고 있었다. svn으로 형상관리를 하는 경우 svn 계정을 Jenkins에 연동해야 한다. Svn 계정 등록#Jenkins browser > Jenkins 관리 > Plugins Available plugins 탭을 클릭한 뒤 Subversion Plug-in을 받아준다. Dashboard> Jenkins관리 > Creditials> System > Global credentials 에 svn 계정의 아이디와 비밀번호를 등록해준다. 새로운 item 을 등록할 때, 혹은 configuration 할 때 소스코드 ..

Backend · Infra 2024.07.30

[Jenkins] Linux에 jenkins 설치 2

📌 이 글은 Docker & 배포 자동화 시리즈 중 하나입니다.기존 java가 8버전으로 설치되어있어서 이전 버전 jenkins로 설치는 완료했으나,플러그인 호환문제가 발생하였다. JAVA_HOME을 바꾸지 않고 jenkins에서만 java 17버전을 설정해서 사용하는 방법으로 재설치 하였다. 기존 jenkins 삭제 # jenkins 서버 중지systemctl stop jenkins# 서비스 제거 systemctl disable jenkins# jenkins 삭제yum remove jenkins# 관련 파일 모두 삭제 rm /etc/init.d/jenkinsrm -rf /var/lib/jenkinsrm -rf /etc/yum.repos.d/jenkins Open JDK 17 설치CentOS7 에서..

Backend · Infra 2024.07.29

[Jenkins] Linux에 jenkins 설치

📌 이 글은 Docker & 배포 자동화 시리즈 중 하나입니다.자동 배포를 위해 jenkins를 도입하려고 했다.우선 개발 서버에 jenkins를 셋팅 해보았다. 현재 운영체제 확인cat /etc/redhat-release위 명령어를 입력하면 현재 OS의 정보를 알 수 있다.서버 OS : CentOS Linux release 7.9.2009 (Core)공식 문서jenkins docs linux install권장 사항4GB 이상의 RAM50GB 이상의 드라이브 공간RAM 확인free -h 를 한 뒤 Mem 항목의 total 확인드라이브 공간 확인df -h 를 한 뒤 Mounted on이 / 인 항목의 Size 확인자바 지원 버전jenkins 설치Jenkins 패키지 저장소를 추가 및 GPG키 추가sudo..

Backend · Infra 2024.07.26