개발 기본

도커(Docker)

도커(Docker)는 앱과 실행 환경을 컨테이너로 묶어 어디서든 비슷하게 실행되도록 돕는 도구입니다.

쉬운 설명

앱 실행 환경을 컨테이너로 묶어 어디서든 비슷하게 실행하게 해주는 도구.

배경과 쓰임까지 이해하기

조금 더 자세히

도커(Docker)는 프로그램 실행에 필요한 환경을 컨테이너로 묶어 어디서든 비슷하게 실행되도록 돕는 도구입니다. 보통 내 컴퓨터에서는 잘 되는데 다른 서버에서는 안 되는 문제가 Node 버전, 패키지, OS 설정, 실행 명령 차이 때문에 생깁니다. Docker를 쓰면 앱과 실행 환경을 정해진 방식으로 묶어 이런 차이를 줄일 수 있습니다.

예를 들어 백엔드 서버 실행, 데이터베이스 띄우기, 개발 환경 통일, VPS 배포, CI 테스트, 여러 서비스를 `docker compose`로 함께 실행하기 등에 사용됩니다. 설정을 잘못하면 컨테이너 안과 밖의 파일, 포트, 환경변수를 헷갈릴 수 있습니다. 한마디로, 도커(Docker)는 앱 실행 환경을 포장해서 어디서든 비슷하게 돌리게 해주는 도구입니다.

실제로는 이렇게 만나요

Node 버전, 패키지, 서버 실행 명령을 Dockerfile에 적어두면 컨테이너 안에서 같은 방식으로 앱을 실행할 수 있습니다.

  • 이런 거 할 때 나와요 내 컴퓨터에서는 되는데 배포나 팀원 환경에서는 안 되는 문제를 줄이는 데 도움이 됩니다.
  • 이렇게 생겼어요 도커(Docker)은(는) Build, Deploy, Environment Variable 같은 주변 개념과 함께 문서, 설정 화면, 오류 메시지에서 자주 보입니다.
  • 나오는 화면 예시 개발 기본 작업을 하다가 Build, Deploy, Environment Variable를 확인하는 화면

헷갈리기 쉬운 점

컨테이너가 만능은 아닙니다. 환경변수(Environment Variable), 볼륨, 네트워크 설정을 잘못 잡으면 오히려 디버깅이 어려워집니다.

왜 알아두면 좋을까요?

내 컴퓨터에서는 되는데 배포나 팀원 환경에서는 안 되는 문제를 줄이는 데 도움이 됩니다.

Checklist

실제로 볼 때 확인할 것

  1. 01

    Dockerfile의 기준 이미지를 확인한다

  2. 02

    비밀값을 이미지에 넣지 않는다

  3. 03

    로컬과 배포의 포트 설정을 맞춘다

관계 지도