본문 바로가기

Docker

[Docker] Docker 명령어 정리

사용해 본 명령어가 별로없지만 기억나는대로 정리해보았다,,,

컨테이너 관련 명령어

#실행중인 컨테이너 확인
docker ps

#모든 컨테이너 확인
docker ps -a

#실행중인 컨테이너 내부
docker exec -it <컨테이너 이름 혹은 ID> bash

#실행중인 컨테이너 정지
docker stop <컨테이너 이름 혹은 ID>

#정지된 컨테이너 재실행
docker start <컨테이너 이름 혹은 ID>

#컨테이너 삭제
docker rm <컨테이너 이름 혹은 ID>


도커 이미지 관련 명령어

#이미지 확인
docker images

#이미지 삭제
docker rmi <이미지 ID>

#이미지 다운
docker pull <이미지_이름>:<태그>


도커 이미지 실행

#
docker run -d -p <실행할 포트>:<이미지가 사용하는 포트> --name <이미지 이름(지정)> <실행할 이미지_이름>

#예시
docker run -d -p 1234:80 --name my_nginx nginx
  • 명령어 설명
    docker run : docker 컨테이너 실행
    -d : 백그라운 모드로 실행
    -p <실행할 포트>:<이미지가 사용하는 포트> : 호스트와 컨테이너 간의 포트 매핑을 설정
    --name <이미지 이름(지정)> : 컨테이너 이름을 설정할 수 있다.
    <실행할 이미지_이름> : 실행할 Docker 이미지의 이름 또는 ID


컨테이너 이미지화

컨테이너 이미지화 작업을 통해 컨테이너를 별도의 이미지로 만들어서 배포하고 실행할 수 있다.

docker commit <기존 컨테이너 ID> <새로운 이미지 이름>

Docker Volumes

Docker 내부 볼륨 관리 시스템 사용

Docker Volume은 Docker 컨테이너에서 데이터를 지속적으로 저장하고 관리하기 위한 도커의 기능이다.
컨테이너 간에 데이터를 공유하거나 보존할 수 있다.

#볼륨 생성
docker volume create <volume 이름>

#볼륨 리스트 확인
docker volume ls

#컨테이너 실행시 docker volume을 컨테이너에 마운트
docker run -d -v <volume 이름>:<컨테이너 내부 경로> --name <컨테이너 이름> <이미지 이름>

#예시
docker run -d -v my_volume:/container_data --name my_container my_image
  • docker volume create <volume 이름> 명령어를 사용하여 volume을 생성하면 호스트의 파일 시스템이 아닌 Docker 내부의 볼륨 관리 시스템에서 관리하게 된다.
  • -v my_volume:/my_data : Docker 볼륨을 /my_data라는 컨테이너 내부 경로에 마운트. 컨테이너 내의 my_data에 저장된 데이터가 my_volume에 표시된다.

Docker 호스트의 파일 시스템에서 관리

docker run -d -v <호스트 공유 경로>:<컨테이너 내부 경로> --name <컨테이너 이름> <이미지 이름>

Docker Volume 공유

  • 볼륨을 만들면 한개 이상의 컨테이너와 공유를 할 수 있다.
  • 하나의 컨테이너에서 여러개의 볼륨에 마운트를 할 수 있다.
#기존의 볼륨을 다른 컨테이너와 공유
docker run -d -v <존재하는 볼륨 이름>:/마운트/할/경로 --name <컨테이너 이름> <실행할 이미지>

#한개의 컨테이너에서 여러개의 볼륨 마운트
docker run -d \
  -v <볼륨1>:/path/to/existing_data \
  -v <볼륨2>:/path/to/new_data \
  --name <컨테이너 이름> \
  <실행할 이미지>