Docker

[Docker] 6-5. 컨테이너 개조

patrick-star 2023. 5. 29. 11:39
728x90

컨테이너 개조란?

도커를 실제로 사용하는 현장에서는 사내에서 개발한 시스템을 운영하는 경우가 많다. 또는 공식 배포되는 SW를 수정해야 할 필요가 종종 있다. 대단한 수정은 아니지만 설정 파일을 매번 작성하기는 귀찮기 때문이다.

컨테이너 개조하는 방법

2가지 방법이 있다. 대부분 이 2가지 방법을 같이 사용한다.

1) 이전에 다뤘던 파일복사마운트를 이용한 방법
2) 컨테이너에서 Linux 명령어를 실행하는 방법. SW를 설치하거나 설정을 변경할 수 있다.

컨테이너에서 명령어를 실행할 때 shell이 필요하다

컨테이너에서 리눅스 명령어를 실행하려면 리눅스에서 사용자의 명령을 전달해주는 프로그램인 shell이 있어야 한다.
여러 가지 shell이 있지만 가장 일반적으로 사용되는 bash를 기준으로 살펴볼 것 이다.

그렇다면 컨테이너에서 bash를 사용하기 위해서 어떻게 커맨드를 작성해야 할까

  • 컨테이너를 만들자마자 bash shell을 실행하고 싶을 때

다만 이 경우에는 컨테이너에 있는 SW를 실행하는 대신에 bash가 실행되므로 컨테이너는 실행 중이지만 SW는 실행 하지 않는 상태가 된다.

그래서 bash를 사용해서 컨테이너 조작이 끝나고 나면 docker start 커맨드를 통해 컨테이너를 재시작해야 한다.

docker run (옵션) 이미지_이름 /bin/bash 

또는 docker run (옵션) 이미지_이름 bash 
  • 기존에 만들었던 컨테이너에 bash shell을 실행하고 싶을 때

    docker exec (옵션) 컨테이너_이름 /bin/bash 

또는 docker exec (옵션) 컨테이너_이름 bash


즉, 컨테이너를 만들고 나서 `컨테이너 내부에 대한 명령`을 `bash 셸`을 통해서 실행하는 것이다. 
컨테이너 내부에 대한 명령을 다 수행하고 나면 `exit`를 입력해서 컨테이너 내부에서 나오면 된다. 

출처 : 그림과 실습으로 배우는 도커 & 쿠버네티스