日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

蕭簫 發自 凹非寺
量子位 報道 | 公眾號 QbitAI

加載完Python的Docker鏡像后,順手又裝了個Python?

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

這樣的「誤會」,在你看完這篇對Python的Docker“正式版鏡像”的解讀后,就會煙消云散。

不僅可以了解到Docker鏡像的結構、功能,還能對Docker的印象有所改觀:容器看起來真的比虛擬機好用!

下面以“Python正式版”為例,具體來了解一下Docker鏡像的用法和細節。

Docker鏡像這樣用

這個鏡像的基礎鏡像是Debian GNU/linux 10,是Debian系統最新的一款名為Buster的版本。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

Tips:Buster是《玩具總動員》中安迪的狗子,Debian開發組喜歡用這款電影里的角色命名系統版本。

也就是說,這是個基于Linux的鏡像,不僅能保證穩定性,還能提供bug修復。

接下來,是文件中的環境變量

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

務必確認在PATH前面加路徑,也就是你安裝鏡像的地方,這樣能保證用到的是安裝的鏡像。

此外,也確認一下語言的環境變量,不過Python3已經默認UTF-8,所以這一步不一定要做。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

當然,也可以確認一下Python的最新版本(圖中是3.8.5)。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

確認環境變量后,是關于運行依賴的事情。

事實上,為了能運行,Python需要依賴一些額外的軟件包。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

其中,ca-certificates相當于一個證書列表,類似于瀏覽器用來驗證 https://url/ 的證書,這也是Python,wget和其他工具用來驗證服務器的證書。

至于netbase,則用來安裝一些/etc中的文件,通常用于將確切的名稱映射到某些端口。

例如,/etc/services就會映射到443/tcp端口上。

在那之后,就是Python的安裝了。

一個編譯器工具鏈會被安裝,而Python代碼也會被下載、編譯,而不需要的Debian安裝包也會被刪掉。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

在這其中,最核心的部分有如下三點:

1.Python會被安裝到/usr/local位置下
2.所有的.pyc文件都會被刪掉
3.一旦gcc等安裝包對編譯Python不再有用,那它們也會被刪掉

而所有的這些,都只需要通過RUN命令來實現。

也許你會注意到,在這個過程中,Python編譯了libbluetooth-dev。事實上,Python鏡像的確有藍牙接口,不過需要安裝對應的安裝包。

此外,在設置別名上,在/usr/local/bin/python3和/usr/local/bin/python間,可以隨意選一個名稱來用(反正是一樣的)。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

最后,是安裝pip,事實上,Docker會確保安裝的是新版本的pip,即它有自己的時間表,即使可能距離Python上一版發布已經過了很久。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

在這個過程中,所有的.pyc文件都會被刪除。

done!好了,怎么運行?

事實上,一句話就夠了。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

此外,如果在使用CMD時ENTRYPOINT為空,你的Python會在運行鏡像時被默認運行。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

也可以根據需要,指定其他可執行文件。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

一些你可能不知道的tips

雖然大多數人不會犯這個錯誤,不過對于一些新手小白來說,還是可能在裝上Python的Docker鏡像后,順手又裝了個Python。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

這樣的話,會導致兩個Python在鏡像中「打架」,造成不必要的混亂。

此外,Python的官方圖片往往也包含了最新的pip

雖然Python3.5的最后一個版本都是去年年末的事情了,不過即使是3.5的安裝,也會帶上最新的pip。

還要注意的一點是,這個鏡像安裝后會刪掉所有的.pyc文件。

此外,這個正式版鏡像并沒有安裝Debian的安全更新,可能需要你手動安裝一下。

經過一番操作后,你就可以放心地使用Python的Docker鏡像,在上面運行相應的程序了。

那么,Docker到底與虛擬機有什么不同?

Docker與虛擬機的區別

作為一個容器,Docker有點像虛擬機,本質上都是為了在不同環境中編寫的各種程序而生。

這是因為,編程語言總是會隨著環境的更新而迭代,在Python更新了新版后,有人調侃Python2和Python3看起來根本不是一種語言。

如果開發了一個Python3的程序,但測試和生產的環境只裝了Python2,運行過程中就可能出現各種雞飛狗跳的事情。

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

不過與虛擬機不同的是,Docker不用再自己裝個操作系統了,而這個東西,恰恰是最占地方的。

Docker將程序中要用到的各種環境「零件」和程序一起打包,做成一個鏡像,這樣使用者只需要加載這一個鏡像,就可以直接運行程序。

相比于在電腦上加載好幾個虛擬機,占用大半空間,Docker不失為只有一臺電腦時,運行各種程序的好選擇。

作者介紹

用這個Python的Docker正式版鏡像,你也能成容器高玩

 

Itamar Turner-Trauring有20多年的科學計算和分布式系統經驗,寫過Twisted網絡框架,也在谷歌工作過,為google Flight貢獻過后端C++代碼。

1996-2000年,Itamar Turner-Trauring在巴伊蘭大學和特拉維夫大學(以色列排名第二和第一的大學)學習數學與計算機課程,并于2009年在哈佛大學取得文科學士學位,研究方向是人文學科。

現階段,Itamar Turner-Trauring會撰寫Python相關的技術文章,幫助開發者更快上手這款編程語言。

參考鏈接:
https://pythonspeed.com/articles/official-python-docker-image/

— 完 —

量子位 QbitAI · 頭條號簽約作者

關注我們,第一時間獲知前沿科技動態

分享到:
標簽:Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定