Back-End
Docker 기본 개념
Meluu_
2025. 7. 2. 16:49
docker는 컨테이너를 사용하여 각 프로그램을 독립된 환경에서 실행 및 관리하는 툴
docker는 이식성이 매우 좋다.
컨테이너 : 미니 컴퓨터 개념 (독립된 환경)
이미지 : 게임 칩 , 프로그램 실행시 필요한 설치과정, 설정, 버전 정보 등 모든 것을 포함
docker의 이미지는 docker hub에서 다운받는 것이다.
포트
호스트 포트와 컨테이너 포트가 구분되는데
호스트 컴퓨터 안에 컨테이너가 있기에 외부에서 컨테이너로 접근 불가
따라서 호스트에서 포트포워딩으로 컨테이너를 매핑해준다.
볼륨
볼륨은 설정 파일등을 영속화한다.
절대경로로 지정하며, 웬만하면 빈 폴더 혹은 폴더를 삭제하고 지정
호스트와 컨테이너 볼륨이 서로 동기화하기에
한쪽이 없으면 한쪽에서 가져온다.
볼륨으로 인한 설정 정보 유지
때문에 비밀번호 같은 것을 설정해놓으면 호스트에 유지되기에
비밀번호를 다르게 설정하고싶으면 직접 볼륨 디렉토리에 가서 바꾸던가 아니면
다 날리고 새롭게 해야한다.
이미지 명령어
// 이미지 다운
docker pull [image_name]:[태그명]
// 이미지 조회
docker image ls
// 이미지 삭제 , -f 옵션 : 실행중인 컨테이너 이미지 삭제
docker image rm [-f] [id or name]
// -f 옵션의 경우
// 컨테이너를 종료하고 삭제한다.
//이미지 전체 삭제 (-f옵션 : 컨테이너 실행중인 이미지도 삭제)
// -q 옵션 : 시스템에 있는 모든 이미지의 ID를 반환
docker image rm [-f] $(docker images -q)
컨테이너 명령어
// 컨테이너 생성 (실행X)
docker craete 이미지명[:태그명]
// 컨테이너 실행
docker start 컨테이너명 or ID
// 컨테이너 중지
docker stop 컨테이너명 or ID
// 컨테이너 삭제
docker rm 컨테이너명 or ID
통합 실행 명령어
이미지 다운 및 컨테이너 생성 및 실행까지 한방에 해주는 편리한 명령어 RUN
// -d 백그라운드 실행, -p 포트설정
docker run [-d] [-p] [호스트 포트]:[컨테이너 포트] 이미지명[:태그명]
// 환경 변수 설정 및 볼륨 설정까지
docker run [-d] [-p] [호스트 포트]:[컨테이너 포트] [-e] [환경변수 설정] [-v] [호스트 볼륨 절대 경로]:[컨테이너 볼륨 절대 경로] 이미지명[:태그명]
// 실행중인 컨테이너 조회 (-a 옵션 : 중지된 컨테이너 전부 조회)
docker ps [-a]