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

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

系統(tǒng) 1983 0

因?yàn)楸荣愒颍枰蟼? docker 鏡像文件,沒辦法,又自學(xué)了一把 docker ,研究了一天,總算大概知道是怎么一回事了,其實(shí)說得明白點(diǎn)就是通過寫一個(gè) Dockerfile 把你的程序里需要用到的所有依賴項(xiàng)封裝起來,此外再把你的程序也一并封裝進(jìn)去,就這些東西構(gòu)成一個(gè) image 鏡像文件,然后把這個(gè)鏡像文件 push 到云端,其他人就可以用了,就這么一回事,難點(diǎn)在于怎么寫這個(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"

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

            
          

說一下其中里面一些語法的用途,一邊看一邊收集來的,整理一下:

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

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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 许昌市| 渝北区| 兴义市| 白城市| 建水县| 汤原县| 仙桃市| 奇台县| 嘉峪关市| 镶黄旗| 瓦房店市| 望都县| 朔州市| 托克托县| 乃东县| 鲜城| 大竹县| 大冶市| 怀远县| 中阳县| 武宁县| 鲜城| 九江市| 靖边县| 民县| 丘北县| 定陶县| 东莞市| 彩票| 西乌珠穆沁旗| 河西区| 繁昌县| 米易县| 石嘴山市| 阿拉善右旗| 花垣县| 六枝特区| 深水埗区| 刚察县| 平阴县| 姜堰市|