
Docker는 *"애플리케이션을 실행하기 위한 모든 환경을 하나의 상자(컨테이너)에 담는 기술" 이야.
↳ 내 컴퓨터에서 잘 되던 프로그램이 다른 사람 컴퓨터에서 "왜 안되지?" 이런 문제 없이, 어디서나 똑같이 실행**되게 만들어주는 도구💬 < Docker 사용 이유 >
☑️ 실행 환경 동일
↳ 어디서든 동일하게 실행 가능
☑️배포 쉬움
↳ 서버에 올릴 때 그대로 가져다 쓰면 됨
☑️가볍고 빠름
↳ 가상 머신보다 훨씬 가볍고 부팅 빠름
☑️여러 앱 관리
↳ 각각 독립적인 공간에서 실행됨 (충돌 방지)
🕹️쉽게 비유
●Docker는 어플리케이션 택배 상자!
‣ 택배 상자 안에는 음식(=앱)뿐만 아니라, 숟가락, 냅킨, 소스 (=실행환경, 설정, 라이브러리)까지 전부 같이 들어있다.
‣ 그래서 누가 받듣지, 어디서 열든지 항상 동일한 상태로 바로 실행 가능!!
docker ps -> 현재 실행 중인 컨테이너 목록을 보여줌
docker ps -a -> 실행중이 아닌 컨테이너들까지 모두 보여줘(즉, 종료된 것, 실패한 것, 중지된 것 전부 다 보여줌)
//결과 예씨
CONTAINER ID IMAGE COMMAND STATUS NAMES
c1a23b4efghi python:3.10 "python app.py" Exited (0) 3 hours ago my-flask
f2b34c5ddxyz nginx "/docker-entry" Up 2 minutes web-server
CONTAINER ID: 컨테이너 고유 ID
IMAGE: 어떤 이미지로 만들어졌는지
STATUS: 실행 중인지, 꺼졌는지, 실패했는지
NAMES: 컨테이너 이름 (자동 혹은 수동 지정)