취미가 좋다

[1-1] Docker 튜토리얼 본문

Sparta Coding Club/Docker

[1-1] Docker 튜토리얼

benlee73 2021. 7. 29. 18:29

도커란 원하는 프로그램을 쉽게 실행하기 위한 플랫폼

 

도커의 구성요소

 

docker image & container

  • image는 어플리케이션을 실행하기 위한 필요한 모든 것이 생성되어 있는 파일입니다.
  • container는 image를 사용하여 실행한 것입니다. 프로세스의 독립성을 보장하기 위해서 네트워크나 저장소가 분리되어 있습니다.

docker registry

  • docker image를 저장하는 공간

dockerd

  • docker API requests를 받아서 docker object(image, container등)를 관리

docker client

  • 사용자가 docker를 사용하기 위해서 사용하는 cli

 


간단한 어플리케이션을 Docker로 실행해보기

docker run

docker run [options] {image_name} [command]

 

위는 docker run의 기본 문법이다.

docker run -d -p 80:80 docker/getting-started

위의 명령어로 Registry(도커허브)에서 도커 이미지를 가져와서 도커 컨테이너를 띄운다.

브라우저 주소창에 localhost를 입력하면 도커를 시작하는 페이지가 나온다.

 

-d : 컨테이너를 백그라운드로 실행

-p : 컨테이너의 포트와 호스트의 포트를 연결

 

docker ps

현재 실행되고 있는 컨테이너의 상태를 볼 수 있다.

COMMAND : 컨테이너를 실행시킬 때 준 커맨드. 위 사진의 적혀 있는 커맨드는 이미지 내에서 넣어준 커맨드

 

-a 옵션을 주면 실행되고 있지 않는 컨테이너도 볼 수 있다.

 

docker stop/kill

docker stop {container_id|conatinaer_name}

stop은 SIGTERM 이라는 신호를 보내고, kill은 SIGKILL 이라는 신호를 보낸다.

stop 은 어플리케이션이 끝날 때 정리를 해야할 것들이 있다면, 그 시간을 보장해준다.

컨테이너 아이디나 이름으로 컨테이너를 지정한다.

 

docker restart

멈춰져 있는 컨테이너를 다시 실행시킨다.

stop, kill 과 동일하게 컨테이너 아이디나 이름으로 컨테이너를 지정한다.

 

docker exec

docker exec [options] {container_id|container_name} [command]

실행중인 컨테이너에 커맨드를 날려서 컨테이너가 잘 돌아가고 있는지 확인하는 명령어이다.

ls 와 같은 커맨드를 컨테이너에 날려서 파일 목록을 볼 수 있다.

docker exec -ti 1234 sh

위 명령어를 통해 컨테이너 안에서 쉘 스크립트를 사용할 수 있다.

쉘은 exit 커맨드로 나갈 수 있다.

-i :  interactive 옵션. 쉘 스크립트를 쓰기 위해 로컬 호스트의 입력을 컨테이너 내에서도 쓸 수 있도록 한다.

-t : tty. 터미널 환경을 만들어준다.

 

docker rm

삭제할 컨테이너를 아이디와 이름으로 지정한다.

실행되고 있는 컨테이너는 삭제할 수 없으니 stop or kill을 통해 멈춰준다.

 

Comments