Skip to content
Jang HyungSuk edited this page Feb 7, 2022 · 1 revision

도커

컨테이너

서버에서 이야기하는 컨테이너는 다양한 프로그램, 실행 환경을 컨테이너에 추상화 한 후 동일한 인터페이스를 통해 프로그램의 배포 및 관리를 단순하게 해주는 것이다. 프로그램을 컨테이너를 추상화 할 수 있고 어디에서든지 실행할 수 있다는 장점이 있다.

기존의 OS를 가상화 하는 방식이 아니라 프로세스를 격리하는 방식으로 돌아가도록 해서 가볍고 빠르게 동작할 수 있다. 또한 CPU나 메모리도 필요한 만큼만 사용해서 성능적으로도 우수하다.

이미지

이미지는 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 것으로 상태값을 가지지 않고 변하지 않는다는 특징이 있다. 같은 이미지로 여러 개의 컨테이너를 생성할 수 있다.

도커 이미지는 Docker hub에서 관리되며 유저는 공짜로 이미지를 다운받고 배포할 수 있다.

도커 이미지는 컨테이너를 실행하기 위한 모든 정보를 가지고 있어서 용량이 수백메가정도이다. 도커는 레이어 방식을 통해서 여러 개의 레이어를 하나의 파일시스템으로 사용할 수 있게 해서 효율적으로 이미지를 관리한다.

도커 명령어

이미지 목록 확인

docker images [OPTIONS] [REPOSITORY[:TAG]]


이미지 다운

docker pull [OPTIONS] NAME[:TAG|@DIGEST]


이미지 삭제

docker rmi [OPTION] IMAGE [IMAGE...]


컨테이너 실행

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

OPTIONS

  • -d : 백그라운드 모드
  • -p : 포트를 연결
  • -v : 로컬과 컨테이너의 디렉토리를 연결
  • -e : 환경변수 설정
  • --name : 컨테이너 이름 설정
  • --rm : 프로세스 종료 시 컨테이너 자동 제거
  • -it : 터미널 입력을 위한 옵션

컨테이너 목록 확인

docker ps

  • 실행중인 컨테이너 목록

docker ps -a

  • all 옵션으로 실행되었다가 종료된 컨테이너까지 목록에 나타남

컨테이너 중지

docker stop [OPTIONS] CONTAINER [CONTAINER...]


컨테이너 제거

docker rm [OPTIONS} CONTAINER [CONTAINER...]


컨테이너 둘러보기

docker logs [OPTIONS] CONTAINER

docker logs --tail 10 CONTAINER

  • 최신 로그 10개만 출력

docker logs -f CONTAINER

  • 실시간 로그 생성 확인

컨테이너 명령어 실행

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

docker exec -it jerry bash

  • docker bash 실행

docker exec -it jerry mysql -uroot

  • docker 컨테이너에 깔려있는 mysql 을 root계정으로 실행
Clone this wiki locally