Docker 이미지 빌드실패 (CentOS 7 EOL) Dockerfile 수정

문제 상황최근 CentOS 7을 기반으로 한 프로젝트를 Docker 환경에서 빌드하려다가 문제가 발생했다. 빌드 과정에서 yum 명령어로 패키지를 설치하려고 하면 연결 오류가 발생하며 실패하는 상황이었다. 문제를 살펴보니 CentOS 7이 EOL(End of Life)에 도달하면서 공식 미러에서 패키지 다운로드가 더 이상 지원되지 않는 것이 원인이었다.CeontOS 7 베이스가 404를 응답한다CentOS의 EOL다들 알고 있는 것처럼 CentOS는 Red Hat Enterprise Linux(RHEL) 기반의 무료 운영 체제다. 하지만 최근 몇 년 동안 CentOS 프로젝트는 큰 변화를 겪었다. 특히 CentOS 8의 EOL 선언과 함께 CentOS Stream으로의 전환이 큰 논란을 불러일으켰다. C..

Development/DevOps 2024.11.21
Gradle Wrapper 버전이 낮아서 JDK 21 지원을 안한다면

Intro프로젝트의 Spring boot 버전을 3.2.5 에서 3.3.5로 업데이트 하는 김에 사용하는 JDK도 17 에서 21로 업데이트 하려고 했다.그런데 사용중인 Gradle 의 버전이 낮다 보니 바로 변경되지는 않았다.코틀린 버전도 JDK 21을 지원하는 버전이 아니여서 업그레이드가 필요했는데, 전체적으로 겪었던 내용들을 정리해본다.JAVA 21을 지원하지 않음.GradleJDK 18 까지만 지원을 하는 Gradle을 사용하고 있다.제일 먼저 gradle의 업그레이드가 필요했다.지금 쓰는 버전을 확인 해 본다../gradlew --verson 확인 결과 굉장히 오래된 7.5 버전을 사용중이다.아래의 명령어로 원하는 gradle 버전으로 업데이트 할 수 있다. 처음에는 아래와 같이 8.3으로 업데..

Programming/Java 2024.11.20
자바스크립트로 이미지에 워터마크 추가하기

Intro이미지에 워터마크를 추가하는 것은 저작권 보호나 브랜드 표시를 위해 필요한 작업이다. 예전에는 포토샵같은 이미지 편집 툴이 필요했지만, 이제는 자바스크립트만으로도 간단하게 워터마크를 추가할 수 있다. 이번 글에서는 HTML과 자바스크립트를 활용해 이미지를 웹 브라우저에서 직접 처리하고 워터마크를 삽입하는 방법을 알아본다.Canvas이번 워터마크 추가에 사용하는 기술은 HTML5의 다. canvas는 픽셀 단위로 이미지를 그리고 수정할 수 있는 도구이며, 다음과 같은 과정을 통해 워터마크를 삽입할 예정이다.를 생성하고, 이미지 파일을 불러와 그대로 그린다.텍스트나 워터마크 이미지를 원하는 위치에 추가한다.canvas의 결과를 다시 이미지로 변환한다.이를 통해 별도의 서버나 이미지 편집 프로그램 ..

Programming/javascrlpt 2024.11.19
각 서버의 `.zshrc` 파일을 자동으로 백업하기

Intro여러 개의 서버를 관리하다 보면 환경 설정 파일들이 여기저기 흩어져 관리하기 복잡해진다. 특히 .zshrc 나 .bashrc 같은 셸 설정 파일은 여러가지 도구와 플러그인, alias를 관리하는 파일이라서 해당 파일 내용을 잃어버리거나 실수로 덮어쓴다면 굉장히 번거로워진다.개인적으로는 이 문제를 해결하기 위해 .zshrc 파일을 Git 리포지토리에 자동으로 백업하는 시스템을 만들었다. 한번 시스템을 구축해두니, 가끔 쉘 설정 파일 편집한 날에는 새벽에 자동으로 백업이 되어 있으니 매우 편해서 해당 내용을 공유해보려한다.이번 글에서는 cron 스케줄링을 활용해 각 서버에서 .zshrc 파일을 매일 자동으로 백업하는 방법을 차근차근 설명해 보겠다.Git 리포지토리리포지토리 생성 및 SSH 키 등록백..

Development/DevOps 2024.11.18
내가 Docker를 좋아하는 이유

이번 글에서는 내가 Docker의 장점 중 에서도 특히 개인적으로 도움이 되는 내용들에 대해 소개해보려한다.1. 편리하고 간단한 배포개발 환경에서 Docker로 실행한 어플리케이션이 잘 작동했다면, 대부분의 다른 환경에서도 유사하게 동작할 가능성이 높기 때문에 배포할 때 서버 환경의 차이에 대해 걱정할 필요가 크게 없다.기존에는 개발 환경과 운영 환경 간의 미묘한 차이 때문에 문제가 생기는 경우가 잦았다. OS 버전, 라이브러리 버전, 설치 경로 등 이런 사소한 차이가 원인이 되는 경우가 많다. 하지만 Docker는 컨테이너 안에 실행에 필요한 모든 환경을 고스란히 일관적으로 담아두기 때문에 이런 문제를 해결해준다. 특히 Docker 이미지를 한 번 잘 만들어두면, 다른 서버로 이식하거나 클라우드 환경..

Development/DevOps 2024.11.17