본문 바로가기
책으로 하는 공부

[책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 네 번째 이야기

by 뿔난 도비 2024. 8. 14.
반응형

이번 게시글에서는 본격적으로 명령어에 대해서 설명합니다. 그러나 글쓴이는 도커에 어느 정도 친숙한 관계로 명령어에 대해 자세하게 설명하기 보다는 명령어와 관련된 잘 알지 못하는 개념적인 내용을 주로 다룹니다.

 

그림과 실습으로 배우는 도커 & 쿠버네티스 - 네 번째 이야기

 

도커의 명령어

 

1. 도커 엔진의 시작, 종료

2. 컨테이너의 생성과 삭제, 실행, 정지

3. 컨테이너의 통신

추천글

위의 목차를 클릭하면 해당 글로 자동 이동 합니다.

 

도커 엔진의 시작, 종료

  • 컨테이너를 실행 중이 아니라면, 도커 엔진은 컴퓨터의 리소스를 거의 차지하지 않으므로 굳이 종료하지 않아도 문제가 없다.
  • 도커 엔진은 자동으로 실행되지만 컨테이너는 자동 실행되지 않는다.
  • 예기치 못한 상황으로 인해 호스트가 재부팅되는 경우 컨테이너를 자동 실행하기 위해서는 스크립트가 필요하다.
  • 도커 엔진을 자동 실행하도록 설정하는 명령어는 아래와 같다.
sudo systemctl enable docker
  • 컨테이너를 다루는 명령어는 'docker' 로 시작한다.

도커 명령어의 구성

  • 기존에는 상, 하위 커맨드 없이 'run' 과 같이 단일 커맨드로 사용했으나, 현재에는 'container run'과 같이 상, 하위 커맨드로 나뉘었다.
  • 기존 명령어를 그대로 쓸 수 있으나 알아둘 필요는 있다.
  • 도커 명령어에의 구성에서 조금 더 세부적인 내용들에 대해서 설명한다.
    • 옵션: 커맨드를 세부적으로 설정한다.
    • 대상: 구체적인 이름을 지정한다.
    • 인자: 대상에 전달될 값을 지정한다.
  • 알아두면 좋은 명렁어 관련 개념들은 다음과 같다.
    • 'docker container run': 'docker image pull', 'docker container create', 'docker container start' 세 개의 명령어를 하나로 합친 것과 같다.
    • 'docker container ls': 'docker ps' 로 생략해서 사용할 수 있다.
    • 'docker image rm': 'docker rmi' 로 생략해서 사용할 수 있다.

컨테이너의 생성과 삭제, 실행, 정지

  • 이미지 내려받기, 컨테이너 생성, 컨테이너 실행
docker container run
  • 도커 컨테이너 생성
docker conatainer create
  • 도커 컨테이너 실행
docker container start
  • 도커 컨테이너 정지
docker container stop
  • 도커 컨테이너 폐기
docker container rm
  • 동작 중인 컨테이너를 삭제하는 것은 불가능하다.
  • 컨테이너를 정지한 후에 삭제해야 한다.
  • docker container run의 옵션들은 아래와 같다.
  • -d, -i, -t 옵션들은 지속적으로 실행되는 프로그램일 때 자주 사용된다.
--name 컨테이너_이름 컨테이너 이름을 설정한다.
-p 호스트_포트:컨테이너_포트 호스트_포트와 컨테이너_포트를 연결한다.
-v 호스트_디스크:컨테이너_디렉토리 호스트_디스크와 컨테이너_디렉토리를 마운트 한다.
--net=네트워크_이름 컨테이너의 네트워크를 설정한다.
-e 환경변수_이름=값 컨테이너에서 사용될 환경 변수를 설정한다.
-d 백그라운드에서 실행한다.
-i 컨테이너에 터미널을 연결한다.
-t 컨테이너에서 특수키 사용을 허락한다.
-help 사용 방법 안내 메시지를 출력한다.

컨테이너의 통신

  • 이 부분에서는 컨테이너의 통신을 깊게 배우지 않는다.
  • 단순하게 호스트의 포트와 컨테이너의 포트를 연결하는 것에 초점을 맞추고 있다.
  • 도커 컨테이너에 웹 서버를 자주 띄우는 글쓴이의 경우 기초적인 내용은 알기에 많은 부분 생략했다.
  • 컨테이너를 생성할 때 지정해주는 포트는 물리적 컴퓨터 (호스트) 의 특정 포트로 들어오는 요청을 컨테이너의 지정된 포트로 전달해주는 역할을 한다.
  • 아래의 그림은 예시를 보여준다.

호스트와 컨테이너의 포트가 연결된 모습

  • 호스트의 하나의 포트에 여러 개의 컨테이너를 연결할 수는 없다.
  • 하나의 포트로 들어온 요청이 어떤 컨테이너로 분배되어야할지 알지 못하기 때문이다.
  • 이런 경우를 해결하기 위해서는 리버스 프록시를 설정하여 서버 이름을 통해 특정 컨테이너로 요청을 분배할 수 있다.

아무래도 이번 챕터는 명령어에 친숙해지는 과정이었기에 글로써 요약하는 것에는 한계가 있었다. 또, 명령어의 대부분은 사용하면서 친숙해지는 것이 맞기 때문에 개념적인 부분을 제외하고는 글에서 생략했다.

Keyword: Docker, 도커

 

추천글

2024.08.11 - [책으로 하는 공부] - [책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 두 번째 이야기

 

[책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 두 번째 이야기

저번 시간에 도커가 무엇인지에 대해 주로 다뤘다면 이번에는 도커에 대해서 알아보는 시간을 가집니다.본 게시글은 시리즈 게시글이며, "그림과 실습으로 배우는 도커 & 쿠버네티스" 책을 읽고

se-dobby.tistory.com

2024.08.12 - [책으로 하는 공부] - [책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 세 번째 이야기

 

[책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 세 번째 이야기

본 게시글에서는 도커를 설치하기 전 기본 지식에 대해서 다루고 있습니다.윈도우, mac OS 사용자들도 자신의 운영 체제에서 도커가 어떻게 설치되는지 알아가면 좋을 것 같습니다.  그림과 실

se-dobby.tistory.com

 

반응형