Stack 21

[Git] 협업 프로젝트 개인 레포 fork 해서 리팩토링하기!

fork개인 레포로 복사하고자 하는 원본 레포에서 fork 해오기clonegit clone 로컬에서 fork한 레포 주소를 clone 하기브랜치기존 팀 컨벤션 처럼 기능 개발 시 feat 브랜치 생성 후 개인 레포의 dev 브랜치에 pr 올리거나,원본 레포에 반영하고 싶으면 원본 dev에 pr 올리기 (원본 레포에 issue 먼저 생성 후)?? 이렇게 하는거 맞나

Stack/Git 2025.12.03

[Docker] Docker Compose 란? (업데이트 중..)

Docker Compose 💡Docker Compose 란?ㅇ💡Docker Compose 설치Docker 20.10부터는 Docker Compose가 기본적으로 설치되므로 별도로 설치할 필요가 없다.💡Docker Compose 파일 구조Docker Compose 파일은 YAML 형식으로 작성되며, 애플리케이션의 서비스, 네트워크, 볼륨 등을 정의한다.docker-compose.ymlversion: '3'services: web: image: nginx ports: - "8080:80" app: build: . ports: - "8081:8080" depends_on: - db db: image: postgres environmen..

Stack/Docker 2025.10.22

ECR, ECS

ECR💡 ECR이란?ECR (Elastic Container Registry)이란, AWS에서 제공하는 Docker 이미지 저장소이다.DockerHub처럼 퍼블릭 레지스트리가 아니라, 프라이빗하게 내 이미지를 저장하고 관리할 수 있다. 💡 왜 필요한가?CI/CD 파이프라인을 통해 앱을 빌드하고 Docker 이미지로 만든 뒤, 그걸 ECS 같은 서비스에서 실행하려면 어디엔가 저장해둬야 한다.이 때 안전하고 AWS 내부 네트워크로 연결 가능한 ECR이 강력한 도구가 된다. 💡 정리 DockerHub와 비슷하지만, AWS에 최적화보안, IAM 권한, VPC 통합 등 AWS 네이티브 기능 사용 가능ECS, Fargate 등과 쉽게 연동됨 ECS💡 ECS란?ECS (Elastic Container Serv..

Stack/AWS 2025.04.18

권한(Permission), 정책(Policy), 역할(Role)

권한, 정책, 역할AWS에서 IAM(Identity and Access Management)을 다룰 때, 권한(Permission), 정책(Policy), 역할(Role)을 이해하는 것이 중요하다. 이 개념들은 AWS 리소스에 대한 접근을 제어하는 데 사용된다.💡 AWS 리소스란?AWS에서 생성할 수 있는 모든 서비스의 개별 객체(Object)를 리소스라고 부름예를 들어, 우리가 AWS에서 EC2(가상 서버)를 만들면 그 EC2 인스턴스가 하나의 AWS 리소스가 됨마찬가지로 S3 버킷, RDS 데이터베이스, VPC 네트워크 등도 각각 하나의 리소스권한(Permission)권한(Permission)은 "무엇을 할 수 있는지"를 정의AWS 리소스에서 수행할 수 있는 동작을 의미🔎 예시예를 들어, S3 버..

Stack/AWS 2025.04.08

기본 브릿지 네트워크(Brideg Network)가 DNS를 제공하지 않는 이유

Docker 기본 브릿지 네트워크 특징Docker의 기본 브릿지 네트워크 (bridge) 는 컨테이너 간 DNS 이름 해석 기능을 제공하지 않는다는 특징이 있다.즉, 컨테이너끼리 IP 주소로만 통신해야 하고, 컨테이너 이름을 사용할 수 없다.💡 그 이유는 기본 브릿지 네트워크가 Docker의 "기본 네트워크" 역할을 하기 때문다.기본 네트워크는 단순하고 최소한의 기능만 제공하도록 설계되어 있다.DNS가 뭐지?DNS는 도메인 이름을 IP 주소로 변환하는 시스템이다. 예를 들어, 우리가 브라우저에서 google.com을 입력하면,google.com을 DNS 서버에 요청DNS 서버가 142.250.74.46 같은 IP 주소를 반환브라우저가 해당 IP로 접속즉, 사람이 이해하기 쉬운 이름 (google.com..

Stack/Docker 2025.04.04

바인드 마운트(Bind Mount) vs 볼륨 마운트(Volume Mount)

바인드 마운트와 볼륨 마운트는 둘 다 컨테이너와 호스트 간에 데이터를 공유하는 기능이다.하지만 저장 방식과 관리 방법에서 차이점이 있다.바인드 마운트(Bind Mount)📌 특징호스트의 특정 디렉토리를 컨테이너 내부에 연결하는 방식호스트의 디렉토리를 직접 사용하므로 도커가 데이터를 관리하지 않음컨테이너를 삭제해도 호스트의 원본 데이터는 유지됨단점 : 컨테이너 실행 중에는 마운트 경로를 변경할 수 없고, 호스트 시스템에 의존성이 생김📌 바인드 마운트 사용 예제docker run -d --name my-nginx -p 8080:80 \-v $(pwd)/mydata:/usr/share/nginx/html nginx$(pwd)/mydata → 호스트의 mydata 디렉토리를 사용/usr/share/nginx..

Stack/Docker 2025.04.03

웹서버(Web Server)란?

웹서버(Web Server)웹서버(Web Server)는 웹 클라이언트(웹 브라우저)로부터 HTTP 요청을 받아, 웹 페이지(HTML, CSS, JavaScript 등)를 제공하는 서버이다. 크롬, 엣지, 파이어폭스 같은 브라우저에 URL을 입력하면, 웹서버가 요청을 받아 웹사이트의 내용을 응답해준다.기본 동작 원리웹서버와 웹 브라우저(클라이언트)는 HTTP(HyperText Transfer Protocol) 또는 HTTPS(보안이 적용된 HTTP) 프로토콜을 사용해서 통신한다. 💡 웹서버의 기본 흐름1. 클라이언트(웹 브라우저)가 HTTP 요청을 보냄ex. 사용자가 https://www.example.com을 입력하면 브라우저가 웹서버로 요청을 보냄요청 형식 : GET /index.html HTTP/..

Stack/Docker 2025.04.02

도커(Docker) 볼륨(Volume)

볼륨(Volume) 활용Docker를 활용하면 특정 프로그램을 Container로 띄울 수 있다. 이 프로그램에 기능이 추가되면 새로운 Image를 만들어서 Container에 실행시켜야 한다. 이 때, Docker는 기존 Container에서 변경된 부분을 수정하지 않고, 새로운 Container를 만들어서 통째로 갈아끼우는 방식으로 교체한다. 기존에 만들어진 Image에 들어가서 변경된 부분을 억지로 수정하는 것보다, 이 방식이 효율적이라고 생각했던 것이다. 이러한 특징 때문에 기존 Container를 새로운 Container로 교체하면, 기존 Container 내부에 있던 데이터도 같이 삭제된다. 예를 들어, 만약 이 Container가 MySQL을 실행시키는 Container였다면, MySQL D..

Stack/Docker 2025.04.01

도커(Docker)를 사용하는 이유

현업에서 Docker를 사용하는 이유Docker는 다양한 장점이 있어 사용하는 이유에는 여러가지가 있지만, 그 중 핵심이되는 장점은 바로 '이식성'이다. 이식성 : 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특성 예를 들면, 친구의 컴퓨터에 아무런 에러 없이 MySQL을 설치했지만, 내 컴퓨터에 똑같은 MySQL을 설치하려고 하니 에러가 발생하는 상황이 있다. 분명 친구가 설치한 방식대로 했지만, 에러가 발생하고 프로그램을 지우고 다시 설치해도 해결되지 않는다. 내 컴퓨터에만 MySQL 설치 에러가 발생하는 이유는 다양하다. 버전이 다른 걸 설치했거나, 운영체제(ex. Windows, macOS, Linux 등)가 다르거나, 내 컴퓨터에 깔려있는 다른 프로그램(ex. 보안 프로그램..

Stack/Docker 2025.03.31