日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Dockerfile構(gòu)建Python3.5環(huán)境---親測(cè)可行代碼

系統(tǒng) 2068 0

因?yàn)楸荣愒颍枰蟼? docker 鏡像文件,沒(méi)辦法,又自學(xué)了一把 docker ,研究了一天,總算大概知道是怎么一回事了,其實(shí)說(shuō)得明白點(diǎn)就是通過(guò)寫(xiě)一個(gè) Dockerfile 把你的程序里需要用到的所有依賴(lài)項(xiàng)封裝起來(lái),此外再把你的程序也一并封裝進(jìn)去,就這些東西構(gòu)成一個(gè) image 鏡像文件,然后把這個(gè)鏡像文件 push 到云端,其他人就可以用了,就這么一回事,難點(diǎn)在于怎么寫(xiě)這個(gè) Dockerfile ,這個(gè)挺廢時(shí)間的,因?yàn)楸恢付ㄊ褂? CentOS 構(gòu)建環(huán)境,其實(shí)如果不是為了比賽,可以選擇 Ubuntu 操作環(huán)境下進(jìn)行的。
上Python3.5環(huán)境的 Dockerfile 代碼:

            
              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 "jiajie.ye@hotmail.com"

# 安裝你程序需要用到的所有依賴(lài)項(xiàng),如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 \
    # 配置默認(rèn)為python3
    && ln -s /usr/local/python3/bin/pip3 /usr/bin/pip \
    && pip install scipy \  #如果要用到scipy這個(gè)包,就需要用python2.7安裝,python3.5安裝會(huì)失敗
    && ln -s /usr/local/python3/bin/python3.5 /usr/bin/python \
# 修復(fù)因修改python版本導(dǎo)致yum失效問(wèn)題
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的這一段有點(diǎn)問(wèn)題,我還沒(méi)解決,因?yàn)楹髞?lái)發(fā)現(xiàn)寫(xiě)的這個(gè)版本程序不需要用到cv2,暫時(shí)擱置,如果之后解決了,再重新補(bǔ)充,問(wèn)題出在unzip上,可能要補(bǔ)充安裝解壓文件的工具就行了,還沒(méi)試
#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
#注意這里的路徑是相對(duì)路徑,前面的是本地文件,后面的參數(shù)是目標(biāo)存儲(chǔ)路徑,指鏡像中
ADD ./competition/application.py /data/application.py
ADD ./competition/model_weights20190430.h5 /data/model_weights20190430.h5

# Define the entry process command
#這個(gè)CMD操作只能有一個(gè),要注意這點(diǎn)
CMD python /data/application.py

            
          

說(shuō)一下其中里面一些語(yǔ)法的用途,一邊看一邊收集來(lái)的,整理一下:

  1. RUN set -ex \ 的作用: set shell 的一個(gè)命令,因?yàn)? shell 的執(zhí)行的過(guò)程中,如果有某個(gè)出錯(cuò)了,也會(huì)繼續(xù)往下執(zhí)行, set -ex 作用就是,當(dāng)下面的命令執(zhí)行出錯(cuò)后,就退出執(zhí)行,不在繼續(xù)往下執(zhí)行,因?yàn)闃?gòu)建python環(huán)境很重要,有些問(wèn)題報(bào)了可能被輸出的信息一下就刷上去了,沒(méi)留意到,后面就各種奇怪的報(bào)錯(cuò)。
  2. mkdir -p /urs/local/python3.5 中的 -p :平時(shí)可能大家也會(huì)用到,在構(gòu)建 Dockerfile 特別方便,少寫(xiě)不少代碼,因?yàn)椴患舆@個(gè) -p 是不能在沒(méi)有上一級(jí)文件夾的前提下創(chuàng)建目標(biāo)文件/文件夾的,有了這個(gè)就會(huì)把上一級(jí)的文件夾也一并創(chuàng)建了。
  3. ADD COPY 的區(qū)別:區(qū)別很簡(jiǎn)單, ADD 強(qiáng)大一點(diǎn),可以通過(guò)鏈接下載文件到指定路徑, COPY 就不行,只能復(fù)制本地的文件到指定路徑。

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 加查县| 平阴县| 南江县| 阿坝县| 东宁县| 南丹县| 福清市| 兴国县| 句容市| 镇赉县| 凤山市| 龙州县| 四子王旗| 太保市| 钦州市| 江阴市| 宁南县| 抚顺县| 三穗县| 巴马| 莒南县| 宝兴县| 历史| 北安市| 和林格尔县| 江西省| 仪陇县| 延寿县| 衡阳市| 永清县| 和林格尔县| 平湖市| 彭阳县| 离岛区| 北辰区| 察雅县| 治县。| 长垣县| 张家港市| 镇康县| 尼木县|