컨테이너는 이미지를 기반으로 생성
실행에 필요한 요소(환경, 코드, 실행파일 등)를 이미지로 만듦
이미지는 레이어(층) 구조로 만들어짐
가장 베이스가 되는 이미지(주로 OS 관련 이미지를 사용)를 가장 아래에 쌓고 그 위에 필요한 패키지들을 설치 하는 등 어플리케이션에 필요한 구조를 쌓아감
이미지는 도커 허브를 통해 다운받을 수 있음
docker pull [image name]
docker hub에서 repository를 생성
docker push [repository]
이미지를 repository의 주소로 tag하여 push
docker tag [img] [repository]
보통 my-repository 가 어플리케이션의 이름이 되고 ':' 뒤로 버전에 붙음
도커 허브에서 무료로 이용할 수 있는 private repository가 1개라 버전 대신 어플리케이션 이름을 통해 구분함
컨테이너 실행하기
docker run [option]
필수적인 옵션은 이미지 항목
이미지는 어떤 컨테이너를 실행시킬 지 기본이 된다 ex. Python 이미지를 선택 할 경우 파이썬이 설치되어있는 컨테이너가 실행됨 (사람들이 docker hub에 올려놓은 이미지를 docker pull 명령어를 통해 로컬 리포지토리에 다운받아 컨테이너를 실행시킴)
컨테이너 접속하기
1. 기존에 없는 컨테이너를 실행하면서 접속 (위에서 본 거)
-it 옵션 후 쉘에 접속하는 명령어를 통해 접속
docker run -it --name python-container python /bin/bash
2. 기존에 있던 컨테이너 접속
(1) 현재 생성된 컨테이너 확인 docker ps -s
(2) stop 상태인 컨테이너 실행 docker start python-container
(3) exec를 통해 접속 docker exec -it python-container /bin/bash
이미지 생성하기
1. Dockerfile 작성
2. docker build -t [image_name:version]
빠져나오기
1. exit 컨테이너가 stop 상태로 변함
2. ctrl + p + q 실행상태를 우지하면서 빠져나옴
3. 이미지 리스트 검색해 제대로 생성됐는지 확인 docker images | grep [image_name]
4. 이미지 실행
docker run [image_name:version]