docker 8

🐳 나만의 이미지 만들기 (Dockerfile)

📌 1. Dockerfile 핵심 문법 4가지도커 레시피의 90%를 차지하는 기본 문법은 딱 4가지입니다.FROM – 베이스 이미지 지정FROM node:20 → Node.js 20 버전 환경에서 시작FROM python:3.9 → Python 3.9 환경에서 시작WORKDIR – 작업 폴더 지정WORKDIR /app → 컨테이너 안의 /app 폴더에서 모든 작업 수행COPY – 파일 복사COPY . . → 현재 폴더의 모든 파일을 컨테이너 /app 폴더로 복사CMD – 실행 명령어 지정CMD ["npm", "start"] → 컨테이너 실행 시 npm start 실행🛠️ 2. 실습: 나만의 웹 서버 만들기간단한 예제로 "Hello My Docker" 문구를 보여주는 웹 서버 이미지를 직접 만들어봅시다..

Docker 2026.01.20

🐳 도커 필수 명령어 마스터하기

⚡ 1. 웹 서버 실행하기 (docker run)docker run -d -p 8080:80 nginx-d (Detached): 백그라운드 모드 실행. 터미널을 계속 사용할 수 있음.-p 8080:80 (Port): 호스트의 8080 포트 ↔ 컨테이너의 80 포트 연결.👉 브라우저에서 localhost:8080 입력 → "Welcome to nginx!" 화면 확인 가능.👀 2. 실행 중인 컨테이너 확인 (docker ps)docker ps현재 실행 중인 컨테이너 목록 확인.docker ps -a: 종료된 컨테이너까지 모두 표시. (hello-world도 여기서 확인 가능)🛑 3. 컨테이너 멈추기 (docker stop)docker stop [컨테이너ID]docker ps에서 확인한 CONTAINE..

Docker 2026.01.20

🚀 도커 첫걸음: 설치부터 Hello World까지

🐳 1. 도커 설치하기 (Docker Desktop)도커를 가장 쉽게 시작하는 방법은 Docker Desktop을 설치하는 것입니다. 윈도우와 맥 모두 지원하며, GUI(그래픽 화면)까지 함께 제공되니 초보자도 부담 없이 사용할 수 있습니다.다운로드: Docker 공식 홈페이지에서 OS에 맞는 버전을 다운로드하세요.실행: 설치가 끝나면 고래 모양 아이콘의 Docker Desktop을 실행합니다.초기 실행 시 로그인이나 설정 화면이 나올 수 있는데, 기본값으로 진행해도 무방합니다.윈도우 사용자는 WSL2 설정을 권장하는 메시지가 뜰 수 있습니다. 성능 향상을 위해 ‘Yes’를 눌러주세요.🖥️ 2. 설치 확인하기설치가 잘 되었는지 확인해봅시다. 터미널(맥은 Terminal/iTerm, 윈도우는 Power..

Docker 2026.01.20

🍳 도커 핵심 개념 3대장: Dockerfile · Image · Container

🍳 도커 핵심 개념 3대장: Dockerfile · Image · Container도커를 배우다 보면 반드시 마주치는 세 가지 단어가 있습니다. 바로 Dockerfile, Image, Container.이 세 가지만 확실히 구분할 줄 알면 도커의 기본 이론은 끝났다고 해도 과언이 아닙니다.개발자 관점(Next.js 등)과 요리 비유를 함께 들어 이해해봅시다.1️⃣ Dockerfile (도커파일)요리 비유: 레시피(요리법)가 적힌 종이개발 비유: 설계도, 설정 스크립트설명: 어떤 운영체제를 쓰고, 어떤 언어를 설치하고, 내 코드를 어디에 복사할지 등을 텍스트로 적어둔 파일.→ 아직 실행되는 건 아무것도 없는 순수한 텍스트 파일입니다.2️⃣ Image (이미지)요리 비유: 레시피대로 준비해 얼려둔 밀키트(..

Docker 2026.01.20

🐳 도커(Docker), 대체 왜 써야 할까?

🐳 도커(Docker), 대체 왜 써야 할까?개발자들이 도커를 극찬하는 이유는 단순한 유행이 아닙니다. 그 배경에는 오랜 시간 개발자들을 괴롭혀온 문제, 바로 “내 컴퓨터에선 되는데 왜 서버에선 안 돼?”라는 고질병이 있습니다.1️⃣ 환경 설정 지옥에서 탈출하기예전엔 프로그램을 다른 컴퓨터로 옮기는 일이 마치 이사처럼 복잡했습니다.내 컴퓨터: 윈도우 + 파이썬 3.9 + 라이브러리 A v1.0서버: 리눅스 + 파이썬 3.8 + 라이브러리 A v0.9이런 사소한 차이 때문에 잘 돌아가던 코드가 서버에선 에러를 뿜어냅니다. 개발자는 억울하고, 서버 관리자는 답답하죠.✅ 도커의 해결책: 컨테이너도커는 단순히 코드를 옮기는 게 아니라, 코드가 실행되는 환경 전체를 하나의 상자(컨테이너)에 담아 함께 옮깁니다...

Docker 2026.01.20

📜 AppFlowy Cloud 로그인 문제 해결 리포트

🔍 1. 계속 된 실패무한 로그인 실패비밀번호를 정확히 입력해도 Invalid email or password 에러 발생.네트워크 미아Unexpected Error 메시지와 함께 브라우저와 서버 간 통신 불가.→ extra_hosts와 포트 설정을 수정하며 해결 시도.유령 계정 현상 (가장 지독했던 문제)curl과 SQL로 계정을 만들고 권한(supabase_admin)까지 부여했지만, 로그인 시도만 하면 계정이 DB에서 사라짐.→ 원인은 서버(Gotrue)가 실행될 때마다 설정 파일과 DB를 비교하여, 설정에 없는 계정을 자동 삭제하는 로직 때문.🕵️ 2. 범인 검거: .env 파일우리는 계속 docker-compose.yml만 수정했지만, 진짜 주인은 숨겨져 있던 .env 파일이었습니다.Docke..

문제해결 2026.01.20

🛠️ AppFlowy Cloud 서버 구축 & 트러블슈팅 기록

AppFlowy Cloud를 직접 서버에 올리면서 겪었던 시행착오를 정리했습니다.처음엔 단순히 컨테이너만 띄우면 될 줄 알았는데, 실제로는 DB, SMTP, Nginx, WebSocket, DNS 등 다양한 문제들이 꼬리에 꼬리를 물며 발생했습니다.1. 초기 DB 접속 오류 (FATAL Error)증상: gotrue 컨테이너가 무한 재시작하며 FATAL: password authentication failed 발생원인: .env 파일의 비밀번호와 실제 DB 볼륨에 저장된 비밀번호 불일치해결: PostgreSQL에 접속하여 비밀번호 강제 통일sudo docker compose exec postgres psql -U postgres -c "ALTER USER postgres WITH PASSWORD 'pas..

문제해결 2026.01.19

도커(Docker)와 쿠버네티스(Kubernetes)의 개념

[ 공부배경 ]개발 공부를 시작하고, 내일배움캠프 끝자락쯤에 도커라는 단어를 들어봤다.최종프로젝트로 바빠서 뭐하는 기술이지? 궁금해했지만새로운 기술보다는 프로젝트 마무리가 더 급했다.이후 프로젝트도 끝나고, 이력서 수백개씩 넣고 취업을 했고 1년이 지났다.이제 이직준비를 하면서 많은 회사에서 도커와 쿠버네티스 경험을 필요로 한다는 것을 보고 궁금해졌다.가볍게 유뷰트를 보고 정리해보려고 한다. 0. 요약 1. 서버와 컨테이너의 개념컨테이너는 일종의 서버로, 프로그램 소프트웨어가 실행되는 장소이다.서버는 단순히 하드웨어를 의미하며, 컴퓨터와 유사한 개념으로 이해하면 된다.모든 회사는 IT 서비스를 제공하기 위해 소프트웨어를 운영한다.개발자는 자신의 PC에서 소스 코드를 작성하고, 이를 테스트하기 위해 임시 ..