Dockerfile 구축 Python3.5 환경---실행 가능한 코드를 직접 측정
3833 단어 Other
docker
거울 파일을 올려야 하는데 어쩔 수 없이 또 한 권docker
을 독학해서 하루를 연구한 결과 어떻게 된 일인지 대충 알 수 있었다. 사실은 명료하게 말하자면 Dockerfile
을 써서 프로그램에 필요한 모든 의존 항목을 봉인하고 그 외에 너의 프로그램도 함께 봉인하는 것이다. 이것들로 image
거울 파일을 구성하는 것이다.그리고 이 거울 파일push
을 클라우드에 넣으면 다른 사람이 사용할 수 있다. 이런 것이다. 어려운 점은 이것Dockerfile
을 어떻게 쓰느냐에 있다. 이 폐기 시간은 지정된 사용CentOS
으로 환경을 구축하기 때문에 사실 경기를 위해서가 아니라면Ubuntu
조작 환경에서 진행할 수 있다.파이썬 3 위로 올라가기5 환경 코드:FROM nvidia/cuda:8.0-cudnn6-devel-centos7
# You can use alternative base mirror from https://hub.docker.com/r/nvidia/cuda
MAINTAINER Will_Ye "[email protected]"
# , Python,numpy,tensorflow
RUN set -ex \
&& yum install -y wget tar libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make initscripts \
&& wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz \
&& tar -zxvf Python-3.5.0.tgz \
&& cd Python-3.5.0 \
&& ./configure prefix=/usr/local/python3 \
&& make \
&& make install \
&& make clean \
&& cd .. \
&& rm -rf /Python-3.5.0* \
&& yum install -y epel-release \
&& yum install -y python-pip
RUN set -ex \
# python
&& mv /usr/bin/python /usr/bin/python27 \
&& mv /usr/bin/pip /usr/bin/pip-python2.7 \
# python3
&& ln -s /usr/local/python3/bin/pip3 /usr/bin/pip \
&& pip install scipy \ # scipy , python2.7 ,python3.5
&& ln -s /usr/local/python3/bin/python3.5 /usr/bin/python \
# python yum
RUN set -ex \
&& sed -i "s#/usr/bin/python#/usr/bin/python2.7#" /usr/bin/yum \
&& sed -i "s#/usr/bin/python#/usr/bin/python2.7#" /usr/libexec/urlgrabber-ext-down \
&& yum install -y deltarpm
RUN yum -y install python-devel scipy
RUN pip install --upgrade pip
RUN pip install matplotlib
RUN pip install --upgrade setuptools
RUN pip install tensorflow-gpu
RUN pip install Pillow
#RUN pip install moviepy
RUN pip install keras
RUN pip install cmake
# opencv , , cv2, , , , unzip , ,
#RUN set -ex \
# &&wget https://github.com/opencv/opencv/archive/2.4.13.zip \
# &&unzip opencv-2.4.13.zip \
# &&cd opencv-2.4.13 \
# &&cmake CMakeLists.txt \
# &&mkdir build \
# &&cd build \
# &&cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_FFMPEG=OFF -D CMAKE_INSTALL_PREFIX=/usr/local .. \
# && make \
# && make install \
RUN pip install wave
RUN pip install scikit-image
# Add your project file
# , , ,
ADD ./competition/application.py /data/application.py
ADD ./competition/model_weights20190430.h5 /data/model_weights20190430.h5
# Define the entry process command
# CMD ,
CMD python /data/application.py
그중에 안에 있는 문법의 용도를 말하면서 보면서 수집한 것을 정리하자.
Dockerfile
의 역할: RUN set -ex \
는 set
의 명령이다. shell
의 실행 과정에서 어떤 오류가 발생하면 계속 아래로 실행하기 때문이다. shell
의 역할은 다음 명령이 잘못되면 실행을 취소하고 계속 아래로 실행하지 않기 때문이다.python 환경을 구축하는 것이 매우 중요하기 때문에 출력될 수 있는 정보를 보고하는 문제가 있어서 주의하지 않았다.뒤에는 온갖 이상한 오타가 있었다.set -ex
중mkdir -p /urs/local/python3.5
: 평소에 여러분도 사용하실 수 있는데 구축-p
에 아주 편리하고 코드를 적게 씁니다. 이것Dockerfile
을 추가하지 않으면 상급 폴더가 없는 전제에서 목표 파일/폴더를 만들 수 없기 때문에 이것만 있으면 상급 폴더도 함께 만들 수 있습니다.-p
와 ADD
의 차이점: 차이는 간단하다. COPY
강력하게 링크를 통해 파일을 다운로드할 수 있다. ADD
는 안 되고 로컬 파일만 지정한 경로로 복사할 수 있다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django tutorial 2.7.4 Test a view: setup_test_environment()Django tutorial 2.7.4 Test a view 출력: 셸을 호출하려면 명령 python manage.py shell 을 사용해야 합니다. 파이톤을 직접 시작할 수 없습니다. 앞의 2.4.4에서 언급한 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.