Docker와 CI 환경 #3

최민석·2021년 2월 1일
1

Docker

목록 보기
3/5
post-thumbnail

도커의 이미지 및 컨테이너 명령어

여러가지 도커 명령어를 나열 해보려고 한다.

docker run <이미지 이름>

  • docker : docker 클라이언트 언급
  • run : 컨테이너 생성 및 실행
  • <이미지 이름> : 이 컨테이너를 위한 이미지

기본적인 도커 컨테이너 실행 및 생성이다.
이미지가 가지고 있는 "시작 명령어"를 시작하게 됩니다.

docker run <이미지 이름> <command>

  • 'command' : 원래 이미지가 가지고 있는 "시작 명령어"를 무시하고, 해당 커맨드를 실행함.
  • ls : 현재 디렉토리의 파일리스트를 표출

컨테이너의 과정을 살펴보자.
docker run <imageName> ls를 입력 했을 때,

  1. 데이터 스냅샷을 컨테이너에 넣어서 종속성 / 환경 구성

  1. 컨테이너가 생성 되며, ls 커맨드를 실행.

대강 이런 절차를 거쳐서 커맨드가 실행되고,
컨테이너가 생성 된다는 점!

  • 현재 실행 중인 컨테이너 나열 :docker ps (process status=ps)
  • 원하는 항목만 보이게 나열 : docker ps --format 'table{{.<열 이름>}} \t table{{.Image}}'
  • 모든 컨테이너 나열 : docker ps -a ( all )

추가적으로 나올 명령어들은 진행하면서 명시하도록 하겠다.


도커 Container의 LifeCycle

크게 5개의 부분으로 나눌 수 있다.

  1. Create(생성)
  2. Start(시작)
  3. Running(실행)
  4. Stopped(중지)
  5. Deleted(삭제)

이를 코드로 구현 해보도록 하자.

생성

  • docker create <이미지 이름>
  • 컨테이너 생성 부분에 해당.
  • 이미지에 있는DataSnapShot을 넘겨주어서 컨테이너 생성을한다.

시작

  • docker start <컨테이너 ID/이름>
  • 만들어진 컨테이너를 실행함.
  • 해당 컨테이너에 맞는 이미지의 '시작 명령어'를 실행.

중지(stop, kill)

  • docker stop <컨테이너 ID/이름>
  • 현재 실행 중인 컨테이너를 중지하게 되는데, 실행 중인 과정이 마무리 후 중지함.
  • docker kill <컨테이너 ID/이름>
  • 실행 중인 현재 상황을 다 무시하고, 강제로 중지

삭제

  • 삭제를 할땐 종료된 컨테이너만 삭제할 수 있음
  • docker rm <컨테이너 ID/이름>
  • docker rm 'docker ps -a -q' : 모든 컨테이너 삭제
  • docker rmi <이미지ID> : 이미지 삭제
  • docker system prune : 한번에 사용하지 않는 컨테이너/이미지/네트워크 삭제
    대신 실행중인 컨테이너 영향 x

여기가 전체적인 도커 컨테이너 라이프사이클에 대한 정리이다.


실행 중인 컨테이너 명령어 전달

-docker exec <컨테이너 ID>

  • 이미 실행중인 컨테이너에 명령어를 전달함.
  • 추가적으로, 실행 중인 컨테이너에 여러 명령어를 전달해
    계속 진행하기 위해서는 -it 를 추가하여야 함.
  • docker exec -it <container id> 명령어
    그래야 계속 진행 될 수 있다.

다음 포스트에서는 직접 도커 이미지를 만들어서 개발환경을 구성해보자.

profile
되돌아보며 성장합니다🔨

0개의 댓글