분류 전체보기 561

AWS Lightsail | IntelliJ, Docker Desktop 설치 및 Docker Image 생성

# 1. 베이스 이미지 (자바 17 버전이 깔린 리눅스 컴퓨터를 가져와)FROM openjdk:17-jdk# 2. 내 도시락(jar 파일)을 컨테이너 안으로 복사해# (build/libs 폴더 안에 있는 jar 파일을 app.jar라는 이름으로 복사함)COPY build/libs/*.jar app.jar# 3. 컨테이너가 켜지면 바로 이 명령어를 실행해 (자바 실행)ENTRYPOINT ["java", "-jar", "app.jar"]하기와 같이 설정 후 IntelliJ 프로젝트 생성해보겠습니다. 프로젝트 빌드까지 완료되었습니다. HelloController.java 파일을 만들고 서버를 실행하였습니다. 이제 실행파일(.jar)을 만들기 위해 Terminal 탭을 클릭하여 하기 명령어를 입력하겠습니다.# ..

카테고리 없음 2025.12.20

AWS Lightsail | Docker 설치하기

지난 포스팅에서 AWS Lightsail 인스턴스 생성 ~ SSH 접속까지 완료하였습니다.https://eboong.tistory.com/687 AWS Lightsail 인스턴스 및 고정 IP 생성하기안녕하세요.오늘은 AWS Lightsail을 통해 서버 구성을 해보려고 합니다. AWS (Amazon Web Service): 아마존에서 운영하는 클라우드 서비스 전체를 의미하며 서버, 저장소, 데이터베이스 등 IT 인프라 구축에eboong.tistory.com 이번엔 WAS 서버 내 Docker를 설치해보겠습니다. 예전에는 서버에 직접 Java를 깔고, Tomcat 깔고, 환경변수 설정하고 등등 복잡하게 세팅하였습니다.하지만 도커를 활용하여 서버 자체는 깔끔하게 유지할 수 있도록 하고자 합니다. 즉 AWS..

카테고리 없음 2025.12.20

AWS Lightsail 인스턴스 및 고정 IP 생성하기

안녕하세요.오늘은 AWS Lightsail을 통해 서버 구성을 해보려고 합니다. AWS (Amazon Web Service): 아마존에서 운영하는 클라우드 서비스 전체를 의미하며 서버, 저장소, 데이터베이스 등 IT 인프라 구축에 필요한 부품을 빌려줍니다. AWS EC2 (Elastic Compute Cloud): AWS에서 제공하는 가장 대표적인 가상 서버로 성능, 용량, 운영체제, 네트워크 설정 등을 사용자가 직접 원하는대로 선택하고 제어하여 관리할 수 있습니다. 만약 사용자 수가 급격하게 늘어서 서버의 성능을 늘려야할 경우, 순식간에 빠르게 변경할 수 있는 장점이 있습니다. AWS Lightsail: 초보자나 소규모 프로젝트를 위해 서버(CPU/Memory) + 하드디스크(SSD) + 데이터 전송량..

[2장-4] 도커 엔진

참고서적 : 시작하세요! 도커/쿠버네티스 (9.2) 컨테이너 CPU 제한 - cpu-shares : 컨테이너에 가중치를 설정해서 해당 컨테이너가 CPU를 상대적으로 얼마나 사용할 수 있는지를 나타낸다. 시스템에 존재하는 CPU를 어느 비중으로 나눠 쓸 지 명시하는 옵션 docker run -d --name cpu_1024 --cpu-shares 1024 alicek106/stress stress --cpu 1 -> 1024의 값을 할당하였고 1개의 프로세스로 cpu에 부하를 주는 명령어(stress --cpu 1)로 설정됨 이 상태에서 --cpu-shares의 값이 512로 설정된 컨테이너가 같이 실행된다면, 2:1의 비율로 CPU를 나눠쓰는 걸 확인할 수 있다. 1024:512=2:1의 비율로 시스템의..

[2장-3] 도커 엔진

참고서적 : 시작하세요! 도커/쿠버네티스 (8) 컨테이너 로깅 1. json-file 로그 사용하기 도커는 컨테이너의 표준 출력과 에러 로그를 별도의 메타데이터 파일로 저장하며 이를 확인하는 명령어를 제공함. docker run -d --name mysql_test -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7 mysql과 같은 어플리케이션을 구동하는 컨테이너는 포그라운드 모드로 실행이 되므로 -d 옵션을 써서 백그라운드 모드로 컨테이너를 생성하는 경우가 많음 docker logs 명령어를 써서 컨테이너의 표준 출력을 확인함으로써 애플리케이션의 상태를 알 수 있음 docker logs mysql 위 명령어를 입력하면 로그를 확인할 수 있음 -e 옵션을 제거하면 mysql 실행에 필요..

[2장-2] 도커 엔진

참고서적 : 시작하세요! 도커/쿠버네티스 (6) 도커 볼륨 이미 생성된 이미지는 어떠한 경우로도 변경되지 않음 컨테이너 계층에 원래 이미지에서 변경된 파일 시스템 등을 저장함 이미지와 컨테이너 구조 도커 컨테이너 (쓰기 가능) : 컨테이너 레이어 도커 이미지 (읽기 전용) : mysql:5.7 mysql 컨테이너 삭제 시 컨테이너 계층에 저장돼있던 데이터베이스의 정보도 삭제된다. 컨테이너의 데이터를 영속적 데이터로 활용하려면 볼륨을 활용하면 된다. 볼륨이란 컨테이너가 데이터를 유지하고 저장하는 데 사용되는 데이터 저장영역을 의미함 1. 호스트와 볼륨을 공유하기 : 데이터베이서 컨테이너 삭제를 해도 데이터는 삭제되지 않도록 설정 가능함 # mysql 데이터베이스 컨테이너 생성 docker run -d \ ..

카테고리 없음 2024.02.08

[2장-1] 도커 엔진

참고서적 : 시작하세요! 도커/쿠버네티스 (1) 도커 이미지와 컨테이너 : 도커 엔진에서 사용하는 기본단위는 이미지와 컨테이너 (핵심) 1. 도커 이미지 - 컨테이너를 생성할 때 필요한 요소 - 여러 개의 계층으로 된 바이너리 파일로 존재함 - 컨테이너를 생성하고 실행할 때 읽기 전용으로 사용된다 - 도커 명령어로 내려받을 수 있어 별도 설치는 필요없음 즉, 이미지는 컨테이너화된 애플리케이션을 실행하는데 필요한 파일, 라이브러리 및 설정과 같은 모든 요소를 포함하는 가볍고 독립적인 패키지임 도커에서 사용하는 이미지 이름 형식 [저장소이름]/[이미지이름]:[태그] ex) alicek106/ubuntu:14.04 저장소 : 이미지가 저장된 저장소. 단, 저장소 이름이 명시되지 않은 이미지는 도커에서 기본으로..

[1장] 도커란?

참고서적 : 시작하세요! 도커/쿠버네티스 1. 도커란? 리눅스 컨테이너에 여러 기능을 추가함으로써 어플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있게 만들어진 오픈소스 프로젝트 리눅스 컨테이너는 애플리케이션과 실행에 필요한 모든 구성 요소를 격리된 환경에서 실행할 수 있도록 하는 가상화 기술 중 하나임 리눅스 컨테이너를 사용하면 각 컴퓨터에 별도로 웹 서버를 설치하지 않고 하나의 이미지를 만들어 각각의 컨테이너로 실행할 수 있다. 도커 엔진 : 컨테이너를 생성하고 관리하는 주체 1.1 가상 머신과 도커 컨테이너 기존 가상화 기술은 하이퍼바이저를 이용해서 여러 개의 운영체제를 하나의 호스트에서 생성해 사용하는 방식이었음 하이퍼바이저는 가상화 기술을 이용하여 하나의 물리적인 컴퓨터에서 여러 개의 가상머신..

[Spring] Chapter 15 ~ 17 : 간단한 웹 어플리케이션의 구조, JSON 응답과 요청처리, 프로필과 프로퍼티 파일

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 1. 간단한 웹 어플리케이션의 구성 요소 (1) 프론트 서블릿 -> 웹 브라우저의 모든 요청을 받는 창구 역할, 요청 분석 후 알맞은 컨트롤러에 전달함 스프링 MVC에서는 DispatcherServle이 역할을 수행함 (2) 컨트롤러 + 뷰 -> 실제 웹 브라우저의 요청을 처리함 클라이언트의 요청을 처리하기 위해 알맞은 기능을 실행하고 그 결봐를 뷰에 전달함 컨트롤러의 주요역할 1) 클라이언트가 요구한 기능 실행 2) 응답 결과를 생성하는데 필요한 모델 생성 3) 응답 결과를 생성할 뷰 선택 컨트롤러는 어플리케이션이 제공하는 기능과 사용자 요청을 연결하는 매개체로서 기능 제공을 위한 로직을 직접 수행하진 않음. 대신 해당 로직을 제공하는 서비스에..

[Spring] MVC 4 : 날짜 값 변환, @Path Variable, 익셉션 처리

참고 자료 : 초보 개발자를 위한 스프링5 프로그래밍 입문 1. 날짜를 이용한 회원 검색 기능 > selectBtRegdate() 메서드는 REGDATE 값이 두 파라미터로 전달받은 from과 to 사이에 있는 Member 목록을 구한다. package spring; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.List; import javax.sql.DataSource; import org.spring..