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
간단한 우분투 이미지
도커파일
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을 만드는 방법(초보자용)
나는 다음이 안전한 방법이 될 수 있다고 생각합니다
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
Reference
이 문제에 관하여(Docker 002 학습 ~이미지~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/0xkoji/learning-docker-002-images-5deb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)