深入理解pytorch庫(kù)的dockerfile
0. dockerfile命令
FROM # 基礎(chǔ)鏡像,一切從這里開始構(gòu)建 MAINTAINER # 鏡像是誰寫的,姓名+郵箱 RUN # 鏡像構(gòu)建的時(shí)候需要運(yùn)行的命令 ADD # 步驟:tomcat鏡像,這個(gè)tomcat壓縮包!添加內(nèi)容 WORKDIR # 鏡像的工作目錄 VOLUME # 掛載的目錄 EXPOSE # 保留端口配置 CMD # 指定這個(gè)容器啟動(dòng)的時(shí)候要運(yùn)行的命令,只有最后一個(gè)會(huì)生效,可被替代 ENTRYPOINT # 指定這個(gè)容器啟動(dòng)的時(shí)候要運(yùn)行的命令,可以追加命令 ONBUILD # 當(dāng)構(gòu)建一個(gè)被繼承DockerFile這個(gè)時(shí)候就會(huì)運(yùn)行ONBUILD指令,觸發(fā)指令。 COPY # 類似ADD,將我們文件拷貝到鏡像中 ENV # 構(gòu)建的時(shí)候設(shè)置環(huán)境變量
1. 使用指令的注意點(diǎn)
1.FROM:
如果制作base image,則使用FROM scratch。
如果在某鏡像基礎(chǔ)上制作,例如使用FROM centos:7指定具體的base image的版本,不指定版本則默認(rèn)為最新的。
2.LABEL:
需要對(duì)鏡像做基礎(chǔ)的介紹:
LABEL maintainer="Prin<xxx@qq.com>" LABEL version = "1.0" LABEL description="prin First DcokerFile"
3.RUN:
容器內(nèi)執(zhí)行的命令,有兩種格式。shell:RUN <命令行命令>,等同于在終端執(zhí)行shell命令。exec:RUN ["可執(zhí)行文件","參數(shù)1","參數(shù)2"]。
注意:Dockerfile的指令每執(zhí)行一次都會(huì)在docker上新建一層。所以過多無意義的層,會(huì)造成鏡像膨脹過大,建議使用&&符號(hào)鏈接命令,例如:RUN yum -y update && yum -y install yum net-tools。
4.ADD and COPY:
概述:
ADD和COPY都是將宿主機(jī)上的文件拷入鏡像中。大部分情況,,COPY優(yōu)于ADD(方便明了)。 ADD除了COPY還有額外功能(解壓)。添加遠(yuǎn)程文件/目錄請(qǐng)使用curl或者wget。
ADD For_add /prin ------- 將本地文件夾For_add(與dockerfile在同一個(gè)目錄)內(nèi)的文件全部拷入鏡像的/prin目錄。
COPY For_cp /prin ------ 同上。
ADD for_add.tar.gz /prin/unzip/ ------ 將 for_add.tar.gz壓縮文件拷貝進(jìn)入鏡像的/prin/unzip/目錄,并解壓。
5.WORKDIR(工作目錄):
在容器生成時(shí),默認(rèn)切換到具體的目錄中。
6.VOLUME(掛載):
概述:
設(shè)置數(shù)據(jù)卷的位置,并且容器在運(yùn)行時(shí)自動(dòng)掛載為匿名卷,當(dāng)然也可以覆蓋與具名掛載。
2. dockerfile
# 繼承Pytorch官方的cuda鏡像
FROM pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel
LABEL maintainer = "xxxxxxx@qq.com"
LABEL version = "0.2"
LABEL description = "prepare deep learning environment"
# 指定docker鏡像中,默認(rèn)的工作路徑是/home/BE
WORKDIR /home/BE
RUN rm /etc/apt/sources.list.d/cuda.list \
&& rm /etc/apt/sources.list.d/nvidia-ml.list \
&& apt-get update \
&& apt-get install -y libgl1 \
&& conda install gdal==3.4.1 \
&& pip config set global.index-url https://pypi.douban.com/simple/ \
&& pip install opencv-python-headless==4.6.0.66 \
&& pip install opencv-python==4.6.0.66 \
&& pip install segmentation-models-pytorch3. 參考
4. 存在的問題
Q1:每一次運(yùn)行docker容器時(shí),是否要掛載本地路徑
docker run的時(shí)候,進(jìn)行掛載
Q2:dockerfile中涉及apt-get 操作失敗
官方的解釋:為了最好地確保我們的 RPM 和 Debian 軟件包存儲(chǔ)庫(kù)的安全性和可靠性,NVIDIA 將從 2022 年 4 月 27 日開始更新和輪換 apt、dnf/yum 和 zypper 軟件包管理器使用的簽名密鑰。未能更新存儲(chǔ)庫(kù)簽名密鑰將導(dǎo)致嘗試從 CUDA 存儲(chǔ)庫(kù)訪問或安裝包時(shí)出現(xiàn)包管理錯(cuò)誤。為確保繼續(xù)訪問最新的 NVIDIA 軟件,請(qǐng)完成以下步驟: 刪除過時(shí)的簽名密鑰 Deb…
RUN rm /etc/apt/sources.list.d/cuda.list RUN rm /etc/apt/sources.list.d/nvidia-ml.list
到此這篇關(guān)于pytorch庫(kù)的dockerfile的文章就介紹到這了,更多相關(guān)pytorch庫(kù)的dockerfile內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬取哆啦A夢(mèng)-伴我同行2豆瓣影評(píng)并生成詞云圖
哆啦A夢(mèng)系列是陪伴我,乃至陪伴了幾代人成長(zhǎng)的故事.50年來,藤子·F·不二雄先生創(chuàng)造了竹蜻蜓,任意門,時(shí)光機(jī)器等等無數(shù)的新奇道具,讓大雄和他的小伙伴們經(jīng)歷了各種冒險(xiǎn),也經(jīng)歷了許多充滿戲劇性的啼笑皆非的日常.特意寫了這篇文章,教大家怎么繪制詞云圖,需要的朋友可以參考下2021-06-06
Scrapy之爬取結(jié)果導(dǎo)出為Excel的實(shí)現(xiàn)過程
這篇文章主要介紹了Scrapy之爬取結(jié)果導(dǎo)出為Excel的實(shí)現(xiàn)過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
socket + select 完成偽并發(fā)操作的實(shí)例
下面小編就為大家?guī)硪黄猻ocket + select 完成偽并發(fā)操作的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
python用WxPython庫(kù)實(shí)現(xiàn)無邊框窗體和透明窗體實(shí)現(xiàn)方法詳解
這篇文章主要介紹了python用WxPython庫(kù)實(shí)現(xiàn)無邊框窗體和透明窗體實(shí)現(xiàn)方法詳解,需要的朋友可以參考下2020-02-02
淺析python實(shí)現(xiàn)scrapy定時(shí)執(zhí)行爬蟲
這篇文章主要介紹了淺析python實(shí)現(xiàn)scrapy定時(shí)執(zhí)行爬蟲的相關(guān)資料,需要的朋友可以參考下2018-03-03
python合并已經(jīng)存在的sheet數(shù)據(jù)到新sheet的方法
今天小編就為大家分享一篇python合并已經(jīng)存在的sheet數(shù)據(jù)到新sheet的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
通過python讀取txt文件和繪制柱形圖的實(shí)現(xiàn)代碼
這篇文章主要介紹了通過python讀取txt文件和繪制柱形圖的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Python使用sigthief簽發(fā)證書的實(shí)現(xiàn)步驟
Windows 系統(tǒng)中的一些非常重要文件通常會(huì)被添加數(shù)字簽名,其目的是用來防止被篡改,能確保用戶通過互聯(lián)網(wǎng)下載時(shí)能確信此代碼沒有被非法篡改和來源可信,從而保護(hù)了代碼的完整性、保護(hù)了用戶不會(huì)被病毒、惡意代碼和間諜軟件所侵害,本章將演示證書的簽發(fā)與偽造2021-06-06

