Docker Image 및 컨테이너 생성

  1. 해당 폴더에 Dockerfile 생성

  2. Dockerhub에서 사용하려는 Python 혹은 Ubuntu등의 Tag name 및 Version 확인

  3. Docker 명령문을 통해 설정

    # ptyhon 3.11 설치후 jupyter 설치 및 실행 예시
    FROM python:3.11
    
    # 컨테이너 내부의 작업 디렉터리 설정
    WORKDIR /app
    
    # 로컬의 모든 파일을 컨테이너 내부 /app 폴더로 복사
    COPY . /app
    
    # 의존성 설치
    RUN pip install --no-cache-dir -r requirements.txt
    
    EXPOSE 8888
    
    CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root"]
    
  4. requirements.txt에 설치하려는 라이브러리의 이름과 Version정의

  5. 위 순서가 끝나면 터미널에서

    # 같은 경로에 Dockerfile 이 있어야함
    $ docker build -t [name] .
    
    # 만약 파일명이 Dockerfile이 아닌 Dockerfile-ubuntu인 경우
    $ docker build -t [tag_name] -f Dockerfile-ubuntu .
    
  6. docker ps -a를 통해 생성 확인

    $ docker ps -a
    
  7. docker container 실행

    $ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
    
  8. 해당 docker의 터미널로 들어가기

    $ docker exec -it [container id] /bin/bash
    
  9. 생성 image 확인

    $ docker images
    
  10. 생성 docker image 저장

    $ docker save -o [file_name.tar] [repository name] 
    

Docker image pull

Docker Hub : https://hub.docker.com/

Docker image commit

$ docker commit CONTAINER IMAGE_NAME

Docker image to .tar save

이미지를 tar 파일로 저장, 로드할 때는 아래처럼. Docker 이미지는 파일의 다른 정도가 레이어로 중첩되어 있는 구조가 되어 있어, save는 레이어의 정보 등도 포함된 상태로 저장.