[Docker] Docker Compose
DevOps/Docker2025. 5. 16. 12:50[Docker] Docker Compose

이 글은 인프런의 지식 공유자 박재성님과 데브위키님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.Docker ComposeDocker Copmose는여러 개의 Docker 컨테이너들을 하나의 서비스로 정의하고 구성해 하나의 묶음으로 관리할 수 있게 도와주는 도구이다.도커 컴포즈는 도커 데스크탑 설치 시 기본으로 설치된다.한 번의 명령어로 여러 개의 컨테이너를 한번에 실행하거나 종료할 수 있다.로컬 개발 환경에서 활용하기 편리합니다. Docker Compose를 사용하는 이유여러 개의 컨테이너를 관리하는 데 용이여러 개의 컨테이너로 이루어진 복잡한 애플리케이션을 한 번에 관리할 수 있게 해준다. 여러 컨테이너를 하나의 환경에서 실행하고 관리하는 데 도움이 된다. 복잡한 명령어로 실행시키던 걸 간소화..

[Docker] 도커 네트워크
DevOps/Docker2025. 5. 16. 12:46[Docker] 도커 네트워크

이 글은 인프런의 개발자를 위한 쉬운도커(데브위키) 강의를 수강하고 개인적으로 정리하는 글임을 알립니다.도커 네트워크가상 네트워크Docker는 컨테이너 간의 통신을 관리하기 위해 가상 네트워크를 사용하며, 기본적으로 브리지 네트워크(bridge network)를 통해 각 컨테이너에 IP 주소를 할당하고 통신할 수 있도록 한다.Docker는 가상 네트워크(브리지)를 통해 각 컨테이너에 고유한 IP를 할당하고, 컨테이너 간의 통신을 관리한다.브리지 네트워크를 통해 컨테이너 간에 직접적인 통신이 가능하며, 외부 네트워크와 통신할 때는 NAT를 사용해 공인 IP와 사설 IP를 변환한다.Docker 네트워크를 사용하면, 각 컨테이너가 독립적인 네트워크 환경에서 동작하면서도 필요한 경우 외부 네트워크와 통신할 수 ..

[Docker] 컨테이너 리소스 사용량 제한
DevOps/Docker2025. 5. 15. 20:23[Docker] 컨테이너 리소스 사용량 제한

이 글은 인프런의 개발자를 위한 쉬운도커(데브위키) 강의를 수강하고 개인적으로 정리하는 글임을 알립니다.기업에서는 수평적 확장보다 수직적 확장이 더 효율적인 경우가 많다.성능이 좋은 고사양 서버를 구매하고 이를 도커 컨테이너나 가상화 기술을 통해 논리적으로 여러 대의 서버로 분할하면 되기 때문이다.이는 실제로 물리적 서버를 여러 대 구매하고 관리하는 수평적 확장의 복잡성과 비용을 줄이면서도 유사한 효과를 얻을 수 있는 전략이다. 이때 컨테이너에 리소스 사용량 제한을 두지 않으면 실행되는 컴퓨터의 최대 리소스를 사용하게 된다.이는 하나의 성능이 좋은 컴퓨터를 논리적으로 여러 대의 컴퓨터로 운영하는 도커의 장점을 무색하게 만들 수 있다. 리소스 제한을 설정하지 않은 하나의 컨테이너가 CPU나 메모리를 과도하..

[Docker] Dockerfile
DevOps/Docker2025. 5. 14. 19:27[Docker] Dockerfile

이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.DockerfileDockerfile은 Docker 이미지를 생성하기 위한 스크립트이다.Dockerfile이란 텍스트 파일로, Docker 엔진에게 이미지를 어떻게 빌드할지 지시하는 명령어들을 포함한다. 특징일반적으로 프로젝트 루트 디렉토리에 Dockerfile이라는 이름으로 저장여러 명령어(인스트럭션)로 구성각 명령어는 이미지에 새로운 레이어를 추가레이어 방식으로 이미지를 구성하여 캐싱과 재사용성 향상 FROMFROM은 베이스 이미지를 생성하는 역할을 한다.Docker 컨테이너를 특정 초기 이미지를 기반으로 추가적인 세팅을 할 수 있다. 여기서 얘기한 ‘특정 초기 이미지’가 곧 베이스 이미지이다. 누군가는 JDK..

[Docker] 볼륨 (Volume)
DevOps/Docker2025. 5. 14. 15:42[Docker] 볼륨 (Volume)

이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.도커 볼륨의 개념기존 컨테이너를 새로운 컨테이너로 교체하면, 기존 컨테이너 내부에 있던 데이터도 같이 삭제된다.만약 이 컨테이너가 MySQL을 실행시키는 컨테이너였다면 MySQL에 저장된 데이터도 같이 삭제 돼버린다. 따라서 컨테이너 내부에 저장된 데이터가 삭제되면 안 되는 경우에는 볼륨(Volume)이라는 개념을 활용해야 한다. 도커의 볼륨(Volume)이란 도커 컨테이너에서 데이터를 영속적으로 저장하기 위한 방법이다.볼륨(Volume)은 컨테이너 자체의 저장 공간을 사용하지 않고, 호스트 자체의 저장 공간을 공유해서 사용하는 형태이다. 볼륨 종류바인드 마운트(Bind Mount)바인드 마운트는 호스트 시스템의..

[Docker] 자주 사용하는 명령어 정리
DevOps/Docker2025. 5. 13. 19:53[Docker] 자주 사용하는 명령어 정리

이미지 관련 명령어다운로드이미지 다운로드# docker pull 이미지명docker pull nginx # docker pull nginx:latest와 동일하게 작동 특정 버전 이미지 다운로드# docker pull 이미지명:태그명docker pull nginx:stable-perl 조회이미지 조회docker image ls 모든 이미지 조회중간 이미지(intermediate images)와 태그가 없는 이미지(dangling images)도 포함docker image ls -a 삭제사용하고 있지 않은 이미지 삭제docker image rm [이미지 ID 또는 이미지명] 이미지 강제 삭제docker image rm -f [이미지 ID 또는 이미지명] 전체 이미지 삭제# 컨테이너에서 사용하고 있지 않은..

[Kubernetes] 핵심 명령어 정리
DevOps/Kubernetes2025. 5. 13. 00:47[Kubernetes] 핵심 명령어 정리

이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.파드(Pod) 관련 명령어파드 조회kubectl get pods 파드 포트로 포워딩# kubectl port-forward pod/[파드명] [로컬에서의 포트]/[파드에서의 포트]kubectl port-forward pod/nginx-pod 80:80 파드 삭제# kubectl delete pod [파드명]kubectl delete pod nginx-pod # nginx-pod라는 파드 삭제 파드 디버깅파드 세부 정보 조회# kubectl describe pods [파드명]kubectl describe pods nginx-pod # nginx-pod 파드의 세부 정보 조회 파드 로그 확인# kubectl logs ..

[Kubernetes] 볼륨(Volume)
DevOps/Kubernetes2025. 5. 12. 00:26[Kubernetes] 볼륨(Volume)

이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.기존 파드를 새로운 파드로 교체하면, 기존 파드 내부에 있던 데이터도 같이 삭제된다. 만약 이 파드가 MySQL을 실행시키는 파드였다면 MySQL에 저장된 데이터도 같이 삭제 돼버린다. 따라서 파드 내부에 저장된 데이터가 삭제되면 안 되는 경우에는 볼륨(Volume)이라는 개념을 활용해야 한다. Volume볼륨(Volume)이란 데이터를 영속적으로 저장하기 위한 방법이다. 쿠버네티스에서 볼륨은 크게 2가지 종류로 나뉜다.로컬 볼륨(Local Volume)퍼시스턴트 볼륨(Persistent Volume, PV) 로컬 볼륨파드 내부의 공간 일부를 볼륨(Volume)으로 활용하는 방식이다.이 방식은 파드가 삭제되는 즉시..

image