개발자 쿠키

[Docker] Docker로 MySQL, PostgreSQL, MongoDB 실행 및 도커 명령어 총 정리 본문

docker

[Docker] Docker로 MySQL, PostgreSQL, MongoDB 실행 및 도커 명령어 총 정리

개발자 쿠키 2025. 2. 9. 22:15

도커의 핵심 개념

  1. 도커 이미지 : 애플리케이션을 실행하는 데 필요한 파일과 설정값 등을 포함하고 있는 패키지
  2. 컨테이너 (Container) : 도커 이미지를 실행한 상태 즉, 도커 이미지가 실제로 메모리에 로드되어 실행되고 있는 인스턴스
    > 왜냐하면 컨테이너는 프로세스의 격리된 환경을 제공하여, 애플리케이션이 도커 호스트의 다른 애플리케이션과 구분되어 실행될 수 있도록 해주기 때문
  3. 도커 허브(Docker Hub) : 도커 이미지를 공유할 수 있는 클라우드 서비스

주요 명령어

docker version : 도커 버전 확인
docker info : 도커에 대한 정보를 보여줌
docker help : 이용가능한 도커 명령어 옵션

이미지 관리

docker images : 시스템에 있는 모든 도커 이미지의 목록을 보여줌
docker pull : 도커 허브로부터 이미지 다운
docker build : 도커 이미지 빌드
docker tag : 이미지 태그 설정
docker push : 도커 허브에 업로드
docker rmi : 도커 이미지 삭제

Container Management

docker ps : 현재 실행 중인 컨테이너의 목록을 표시
docker ps -a : 종료된 컨테이너를 포함한 모든 컨테이너 목록 표시
dokcer run [options] [image-name] : 새로운 컨테이너 실행
     -d
     -p [host-port] : [container-port]
     --name [container--name]
     -v [host-path] : [container-path]
docker rm [catiner-id/name] : 컨테이너 삭제
docker rm -f [conatiner-id/name] : 실행 중인 컨테이너 강제 종료 후 삭제
docker stop [container-id/name] : 컨테이너 정지
docker start [container-id/name] : 컨테이너 시작
docker restart [container-id/name] : 컨테이너 재시작

Container Interaction

docker exec [container-id/name] [command] : 실행 중인 컨테이너 내에서 명령어 실행
dokcer logs [options] [container-id/name] : 컨테이너 로그 확인

docker volume

[ MySQL ]
docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v "호스트주소:/var/lib/mysql" -d mysql

[ PostgreSQL ]
docker run -e POSTGRES_PASSWORD=password123 -p 5342:5342 -v 호스트주소:/var/lib/postgresql/data -d postgres

[ MongoDB ]
docker run -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=password123 -p 27017:27017 -v /Users/cookie/Downloads/docker-mongodb/data:/data/db -d mongo


docker 디버깅

ENTRYPOINT ["/bin/bash", "-c" "sleep 500"]
docker exec -it 컨테이너 내부 접속