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`를 입력해서 컨테이너 내부에서 나오면 된다.