Docker 002 학습 ~이미지~

매우 간단한 Dockerfile



비지박스
https://hub.docker.com/_/busybox

FROM busybox
RUN echo "building simple docker image!!!"
CMD echo "hello container"


짓다




$ docker build -t hello .
Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM busybox
latest: Pulling from library/busybox
8e674ad76dce: Pull complete
Digest: sha256:c94cf1b87ccb80f2e6414ef913c748b105060debda482058d2b8d0fce39f11b9
Status: Downloaded newer image for busybox:latest
 ---> e4db68de4ff2
Step 2/3 : RUN echo "building simple docker image!!!"
 ---> Running in 1df5fbc4c964
building simple docker image!!!
Removing intermediate container 1df5fbc4c964
 ---> 1ee1020b4fdc
Step 3/3 : CMD echo "hello container"
 ---> Running in ac28127a38e0
Removing intermediate container ac28127a38e0
 ---> 6a252581664b
Successfully built 6a252581664b
Successfully tagged hello:latest


이미지




$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
hello                   latest              6a252581664b        25 seconds ago      1.22MB


컨테이너 실행




$ docker run --rm hello
hello container


간단한 우분투 이미지


  • vim 설치
  • 자식 설치
  • 설치 컬
  • 컨테이너 실행 시 git 버전 표시

  • 도커파일

    FROM ubuntu:18.04
    RUN apt-get update && apt-get upgrade -y && apt-get autoremove -y
    RUN apt-get install vim -y
    RUN apt-get install git -y
    RUN apt-get install curl -y
    CMD [ "git", "--version"]
    



    $ docker build -t my_test .
    
    $ docker run --rm -it my_test
    git version 2.17.1
    


    좋은 Dockerfile을 만드는 방법(초보자용)



    나는 다음이 안전한 방법이 될 수 있다고 생각합니다
  • 기본 이미지 선택
  • 컨테이너에서 명령 실행
  • 2단계에서 사용한 모든 명령을 기록합니다
  • .
  • 3단계를 완료하면 Dockerfile을 만듭니다.

  • 1 단계



    좋은 이미지를 찾을 수 있습니다https://hub.docker.com/.

    2 단계



    컨테이너에서 명령을 실행합니다. 명령을 시도할 때 -y를 사용해야 합니다.

    3단계



    명령이 성공적으로 실행되면 메모를 하고 어느 시점에서 명령 중 하나가 수행한 작업을 엉망으로 만들면 동일한 작업을 다시 수행해야 하므로 커밋해야 합니다.
    또는 이미지를 만든 다음 더 많은 명령을 추가할 수 있습니다.

    4단계



    테스트하고 수정한 모든 명령을 기록하십시오Dockerfile.

    내가 만든 것



    베이스 연속체/anaconda3
    일부 소프트웨어 및 Python 패키지 설치
    Dockerfile
    # base image
    FROM continuumio/anaconda3:2019.03
    MAINTAINER Koji Kanao <[email protected]>
    
    RUN apt-get update && apt-get upgrade -y && apt-get autoremove -y
    RUN apt-get install vim -y
    RUN apt-get install git -y
    RUN apt-get install curl -y
    RUN apt-get install ffmpeg -y
    RUN apt-get install imagemagick -y
    RUN conda install pytorch torchvision cudatoolkit=9.0 -c pytorch -y
    
    # python packages
    RUN pip install --upgrade \
        pip==19.1.1 \
        && pip install \
        autopep8==1.4.4 \
        setuptools>=41.0.0 \
        opencv-python==3.4.3.18 \
        opencv-contrib-python==3.4.3.18 \
        Pillow \
        numpy \
        pandas \
        scipy \
        matplotlib \
        h5py \
        Keras==2.2.4 \
        scikit-learn \
        scikit-image \
        six \
        sklearn \
        spacy \
        requests \
        beautifulsoup4 \
        tensorflow==1.14.0 
    
    # create work dir
    WORKDIR /workdir
    
    # expose port
    EXPOSE 8888
    
    # start jupyter notebook
    ENTRYPOINT ["jupyter-lab", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root", "--NotebookApp.token=''"]
    
    # set workdir as notbook dir
    CMD ["--notebook-dir=/workdir"]
    


    이미지 빌드

    $ docker build -t conda_docker .
    


    컨테이너 실행

    $ docker run -it -p 8888:8888 --name doconda --mount type=bind,src=`pwd`,dst=/workdir  conda_docker
    


    공개 localhost:8888


    $ ls
    Dockerfile     Untitled.ipynb
    


    이 컨테이너는 내 호스트인 내 Mac에 노트북을 저장할 수 있습니다.

    여기에서 이 이미지를 가져올 수 있습니다.
    https://hub.docker.com/r/kojikno/conda_docker

    VirtualBox로 이 환경을 만드는 데 몇 시간이 걸리기 때문에 Docker가 훌륭하다고 생각합니다. 사실 우리는 시간을 절약하기 위해 방랑자를 사용할 수 있지만 여전히 가상 머신을 사용하므로 일반적으로 너무 무겁고 Mac의 팬은 매우 열심히 작동해야 합니다. 그러나 Docker는 그렇게 무겁지 않고 매우 좋은 동일한 환경을 다시 생성하기 쉽습니다. Docker를 더 많이 사용하게 될 것 같지만 여전히 계속 배워야 합니다. 특히 docker-compose

    좋은 웹페이지 즐겨찾기