Etc
TIL | Docker 컨테이너 쉘환경 접근 및 이미지 생성
by J-Ymini
2021. 11. 21.
Docker 컨테이너 쉘 환경 접근 및 이미지 생성하기
Docker 컨테이너 쉘 접속

sudo docker exec -it 'container id 혹은 names' sh
exec: 컨테이너 외부에서, 실행중인 컨테이너에게 명령어를 전달할 수 있게 하는 명령어이다.
it: 컨테이너를 종료하지 않고 터미널에 입력된 명령어를 전달하기 위해 사용한다.(exec과 많이 사용한다)
sh: 쉘로 들어갈 수 있는 명령어
(해당 컨테이너에서 빠져나오고자 할때는 exit 혹은 Ctrl + d를 통해 종료한다.)
Docker 이미지 생성하기(alpine baseimage 기준)
1. Docker file 작성

- Docker 이미지를 만들기 위한
config 파일이다. 컨테이너가 어떻게 행동할 지에 대한 설정을 정의한다.
2. Docker 이미지 생성

- Docker file의 내용이 Docker Client에 전달 및 Docker Server가 인식을 하기 위해서는 해당 파일이 위치한 디렉토리에서
sudo docker build ./를 입력한다.
- 이미지 생성 과정은 다음과 같다. (내가 생성한 이미지 기준)
- Docker server에서 base iamge 가져오기(alpine, 이미지 id:
0a97eee8041e)
- 이미지를 통해 임시 컨테이너(id:
7ab930451f70)를 생성하고 시작될 명령어 CMD["echo","hello"]가 추가된다.
- 임시 컨테이너를 기반으로 새롭게 생성할 Docker image를 만들고, 임시 컨테이너는 삭제한다.
- base image(alpine) id인
0a97eee8041e와, 내가 생성한 이미지의 id 06bdb3750c94가 다름을 통해 새롭게 image가 생성됐음을 알 수 있다.
3. Docker 이미지 이름 지정

- Docker image에 이름을 주고자 할 경우,
sudo docker build ./ -t 이름 순으로 입력하도록 한다.
- 보통 Docker image의 이름은
Docker id / 저장소 or 프로젝트 이름 : 버전 지정한다고 한다.