
회사 와서 개발 서버를 다루면서 Docker를 처음 제대로 사용하게 되었당...
학교에서 프로젝트 할 때는 그냥 서버 실행하고 배포하는 정도였는데
회사 오니까 갑자기
"Docker 내려주세요"
"다시 빌드해서 올려주세요"
????

처음에는 그냥 알려주시는 명령어 그대로 따라 쳤는데...
직접 프로젝트를 옮기고 컨테이너를 내렸다 올렸다 하다 보니까 이제야 조금씩 Docker가 어떻게 돌아가는지 이해되기 시작했다.
그래서 까먹기 전에 회사에서 직접 사용한 Docker 명령어들을 정리해보려고 한다!

Docker란?
Docker는 애플리케이션과 실행에 필요한 환경을 컨테이너(Container)라는 단위로 만들어 실행 할 수 있게 해주는 도구이다.
처음에는 Image랑 Container 차이부터 헷갈렸다.
쉽게 정리하면
Image → 컨테이너를 만들기 위한 실행 환경
Container → Image를 기반으로 실제 실행되고 있는 상태
나는 그냥
Image = 실행하기 전 준비물 📦
Container = 그걸 실제로 실행한 상태 🚀
정도로 이해햇다!
새로 만든 Ubuntu 개발 서버에는 Docker가 설치되어 있지 않아서 Docker부터 설치해줬다!
먼저 패키지 목록을 업데이트해준다.
sudo apt update
그리고 Docker 설치!
sudo apt install docker.io
설치가 잘되엇는지 확인하려면
docker --version
버전이 정상적으로 나오면 설치 완료!
처음에는 Docker 명령어를 사용할 때마다 sudo를 붙여야 했는데, 매번 쓰기 귀찮아서 현재 계정을 docker 그룹에 추가해줬다.
sudo usermod -aG docker $USER
다시 접속 한 뒤
docker ps
가 sudo 없이 실행되면 끝!
Docker 설치까지 완료했으니 이제 진짜 사용해보기... 🐳
docker ps
현재 실행 중인 컨테이너 확인
docker ps -a
종료된 컨테이너까지 전체 확인
docker images
현재 저장되어 있는 Docker Image 목록을 확인
docker ps → Container 확인
docker images → Image 확인
둘이 맨날 헷갈려서 그냥 이렇게 외우는 중...
docker compose build
코드나 Dockerfile이 변경되어 이미지를 새로 만들어야 할 때 사용!
docker compose up -d
컨테이너를 백그라운드에서 실행한다.
up = 올리기 ⬆️ 로 기억하는 중...
docker compose up -d --build
이미지를 새로 빌드하면서 컨테이너까지 바로 실행
코드 수정하고 다시 실행해야 할 때 유용!!
docker compose build
+
docker compose up -d
↓
docker compose up -d --build
한 방에 가능하다.
docker compose down
실행 중인 컨테이너를 종료하고 제거한다.
down = 내리기 ⬇️
서버에서 뭔가 안 된다?
일단 로그부터 보기...
docker logs 컨테이너명
특정 컨테이너의 로그를 확인
docker logs -f 컨테이너명
실시간 로그 확인
오류가 나거나 서버가 제대로 실행되고 있는지 확인할 때 자주 사용했다.
실시간 로그에서 탈출하려면 Ctrl + C !!
docker restart 컨테이너명
특정 컨테이너만 재시작
docker compose restart
Docker Compose 컨테이너 재시작
코드 수정
↓
docker compose build
↓
Docker Image 생성
↓
docker compose up -d
↓
Container 실행
↓
docker ps
↓
실행됐나 확인
↓
docker logs -f 컨테이너명
↓
로그 확인 👀
이런 흐름으로 사용했다.
빌드부터 실행까지 한 번에 하고 싶으면
docker compose up -d --build
쓰면 끝!
처음에는 명령어만 냅다 따라 쳤는데
직접 빌드 → 실행 → 확인 → 로그 확인을 반복하다 보니까 이제야 조금씩 이해되는 중...
아직 Docker 마스터까지는 갈 길이 멀지만...
일단 이제 docker ps 치면서 아는 척은 할 수 잇음.
저. 19살 아기.에게는 회사생활 너무 새롭고 힘듭니다.ㅜ
ㅋㅋㅋㅋㅋ갓생 사는 현지니 정리 덕에 도커 관련 명령어를 쉽게 정리해줘서 덕분에 도커 사용할 때 참고하면서 명령어를 사용할 수 있을 것 같아요!!!