欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Dockerfile構建Python3.5環境---親測可行代碼

系統 1916 0

因為比賽原因,需要上傳 docker 鏡像文件,沒辦法,又自學了一把 docker ,研究了一天,總算大概知道是怎么一回事了,其實說得明白點就是通過寫一個 Dockerfile 把你的程序里需要用到的所有依賴項封裝起來,此外再把你的程序也一并封裝進去,就這些東西構成一個 image 鏡像文件,然后把這個鏡像文件 push 到云端,其他人就可以用了,就這么一回事,難點在于怎么寫這個 Dockerfile ,這個挺廢時間的,因為被指定使用 CentOS 構建環境,其實如果不是為了比賽,可以選擇 Ubuntu 操作環境下進行的。
上Python3.5環境的 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"

# 安裝你程序需要用到的所有依賴項,如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

            
          

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

  1. RUN set -ex \ 的作用: set shell 的一個命令,因為 shell 的執行的過程中,如果有某個出錯了,也會繼續往下執行, set -ex 作用就是,當下面的命令執行出錯后,就退出執行,不在繼續往下執行,因為構建python環境很重要,有些問題報了可能被輸出的信息一下就刷上去了,沒留意到,后面就各種奇怪的報錯。
  2. mkdir -p /urs/local/python3.5 中的 -p :平時可能大家也會用到,在構建 Dockerfile 特別方便,少寫不少代碼,因為不加這個 -p 是不能在沒有上一級文件夾的前提下創建目標文件/文件夾的,有了這個就會把上一級的文件夾也一并創建了。
  3. ADD COPY 的區別:區別很簡單, ADD 強大一點,可以通過鏈接下載文件到指定路徑, COPY 就不行,只能復制本地的文件到指定路徑。

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 人人九九精 | 亚洲天天更新 | 久久草在线视频国产一 | 国产精品成人无码A片免费网址 | 奇米线在人线免费视频 | 亚洲依依成人综合网站 | 亚洲 欧美 自拍偷拍 | 中文字幕三区 | 97美女网 | 亚洲欧美国产精品久久久久久久 | 一区二区国产精品 | 素人视频在线观看免费 | 久久精品91久久久久久再现 | 日韩视频在线观看 | 成人性生活视频在线播放 | 亚欧乱色一区二区三区 | 日本不卡在线视频 | 国产成人精品999在线观看 | 91人人看 | 国产婷婷综合 | 国产亚洲精品日韩香蕉网 | 免费精品美女久久久久久久久久 | 免费毛片在线播放 | 在线中文一区 | 欧美一级在线观看 | 日韩一二三区视频 | 免费在线看a | 欧美自拍电影 | 久久久精 | 欧美日韩精品一区二区三区在线观看 | 人人草草| 四虎影业 | 男女一进一出无遮挡黄 | 五月婷婷狠狠干 | 激情网五月 | 99精品国产福利在线观看 | 久草在线视频精品 | 亚洲白拍| 国产不卡免费 | 精品视频一区二区三区在线播放 | 91精品视频免费在线观看 |