自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Docker使用過(guò)程中可能遇到的問(wèn)題

原創(chuàng)
云計(jì)算
自2013年3月開(kāi)源到現(xiàn)在docker已經(jīng)經(jīng)歷了3年的發(fā)展,在這期間Docker無(wú)疑是云計(jì)算領(lǐng)域最火的一個(gè)方向,幾乎所有的云計(jì)算廠商都在擁抱Docker這個(gè)生態(tài)圈。

Docker并不是一個(gè)新的技術(shù),容器化也不是,早在2006年就陸續(xù)出現(xiàn)了LXC, OpenVZ,Jail等容器虛擬化技術(shù),但是為什么Docker卻能異軍突起呢?Docker的核心是基于 Linux的CGroup、Namespace和LayeredFS技術(shù),通過(guò)資源的控制、隔離和對(duì)鏡像的分層處理,是Docker容器能夠?qū)?yīng)用程序和運(yùn)行環(huán)境打包到一起,這樣就可以Build, Ship And Run anywhere。與其說(shuō)是Docker火,不如說(shuō)是其天生的輕量級(jí)屬性,正好迎合了云計(jì)算大行其道的今天。因此,筆者認(rèn)為Docker改變整個(gè)云計(jì)算和互聯(lián)網(wǎng)的格局是遲早的事,但是Docker在使用中,特別是在國(guó)內(nèi),又有什么需要注意的問(wèn)題呢?

[[164389]]

1. 編譯

Docker雖然說(shuō)是一個(gè)開(kāi)源的項(xiàng)目,但是如果你要在國(guó)內(nèi)成功編譯它是一件非常困難的事情。Docker是用Go來(lái)開(kāi)發(fā)的,Go被譽(yù)為互聯(lián)網(wǎng)時(shí)代的C語(yǔ)言,由google主導(dǎo)開(kāi)發(fā),它的開(kāi)發(fā)者包括了 Chrome V8引擎和Unix的開(kāi)發(fā)者,因此它天生就是易用且簡(jiǎn)介的。它具有良好的包管理、簡(jiǎn)介的語(yǔ)法和非常好的靈活性。但是,在國(guó)內(nèi)很多package,你是不一定能夠取下來(lái)的,這樣就導(dǎo)致編譯過(guò)程很難進(jìn)行。

2. 安裝

如果你在國(guó)外,沒(méi)有GFW的限制,擁有非常好的網(wǎng)速,你使用Docker就像是在開(kāi)一輛跑車(chē)。但如果你在國(guó)內(nèi),就好比是開(kāi)了一輛沒(méi)油的跑車(chē)。我曾經(jīng)很多次遇到了安裝失敗的問(wèn)題,而且安裝速度非常緩慢。同時(shí),如果你要在全封閉的內(nèi)網(wǎng)安裝Docker就更麻煩,你需要將所有的安裝包完整遷移到內(nèi)網(wǎng),這個(gè)工作量是非常大的。下面就是一個(gè)官方安裝失敗的例子:

  1. root@ghostcloud:~# curl -fsSL https://get.docker.com/ | sh 
  2.  
  3. apparmor is enabled in the kernel and apparmor utils were already installed 
  4.  
  5. + sh -c apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D 
  6.  
  7. Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.cr8hxY45Ve --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D 
  8.  
  9. gpg: requesting key 2C52609D from hkp server p80.pool.sks-keyservers.net 
  10.  
  11. ?: p80.pool.sks-keyservers.net: Host not found 
  12.  
  13. gpgkeys: HTTP fetch error 7: couldn't connect: Success 
  14.  
  15. gpg: no valid OpenPGP data found. 
  16.  
  17. gpg: Total number processed: 0 

3. 鏡像pull非常慢

Docker為什么火,有一個(gè)重要的原因就是它開(kāi)創(chuàng)性的分層鏡像機(jī)制,你的環(huán)境和應(yīng)用程序都會(huì)被打包到鏡像中。但是,一個(gè)比較大的問(wèn)題是,Docker所有的鏡像都依賴(lài)于基礎(chǔ)鏡像,而這些基礎(chǔ)鏡像都在國(guó)外的docker hub上,當(dāng)你興致勃勃準(zhǔn)備用docker大干一場(chǎng)時(shí),pull的漫長(zhǎng)等待一定會(huì)讓你很抓狂,而最后的超時(shí)失敗,更會(huì)讓你有說(shuō)臟話的沖動(dòng)。

4. 鏡像存儲(chǔ)

Dockerhub在國(guó)外這個(gè)問(wèn)題還好,但是默認(rèn)的dockerhub所有鏡像都是公開(kāi)的,就是說(shuō)你的鏡像別人都能夠下載。這個(gè)策略跟github是一樣的,如果你要用免費(fèi)的,那么你就得開(kāi)源。否則,給錢(qián)買(mǎi)私有倉(cāng)庫(kù)吧。Docker的私有倉(cāng)庫(kù)價(jià)格是非常貴的,而且速度還很慢。你不可能需要共享鏡像時(shí),都push到國(guó)外,再pull回來(lái)吧。當(dāng)然有的人可能要說(shuō),我可以搭建私有倉(cāng)庫(kù)。不過(guò)私有倉(cāng)庫(kù)僅時(shí)候企業(yè)內(nèi)部私有網(wǎng)絡(luò)使用,而且沒(méi)有基礎(chǔ)鏡像,如果你有跨區(qū)域的使用,是非常難處理的。

5. 云端的部署問(wèn)題

至少在我寫(xiě)這篇文章的時(shí)候,不是每一家公有云廠商的基礎(chǔ)鏡像都能順利的安裝docker,docker是輕量級(jí)的虛擬化技術(shù)不假,但它仍然不能在短期內(nèi)替代VM。如果你要在VM上使用docker,需要對(duì)網(wǎng)絡(luò)、存儲(chǔ)等做一些特殊的處理。

6. 容器和主機(jī)的管理

Docker是輕量級(jí)的不假,但是隨著輕量以后,勢(shì)必會(huì)出現(xiàn)大量的容器和主機(jī)。本身使用docker的出發(fā)點(diǎn)是降低運(yùn)維成本,提升效率,但是管理上的成本相反卻會(huì)上升。主機(jī)的監(jiān)控、容器的監(jiān)控、容器和容器之間的聯(lián)系等等,都需要專(zhuān)業(yè)的公司來(lái)處理。很多人可能會(huì)想,我可以使用kubernetes,mesos等開(kāi)源框架,不過(guò)我想給你敲一個(gè)警鐘,如果你沒(méi)有10人以上的運(yùn)維團(tuán)隊(duì),最好不要去碰這類(lèi)框架。這類(lèi)框架設(shè)計(jì)之初就是管理成千上萬(wàn)臺(tái)的主機(jī),如果你沒(méi)有這么大的量,一定會(huì)讓你日后的維護(hù)非常的酸爽。

7. 容器的性能

容器有性能損失嗎?如果你要將系統(tǒng)搬遷到docker上,你是否會(huì)有擔(dān)憂?CPU、內(nèi)存、磁盤(pán)IO的性能到底如何?如何進(jìn)行優(yōu)化?這些都是需要大量測(cè)試和優(yōu)化的。

8. 容器的安全

容器到底安全嗎?容器是操作系統(tǒng)級(jí)的虛擬化技術(shù),多個(gè)容器實(shí)際是共享了操作系統(tǒng)內(nèi)核。容器的安全一直在不斷的向前發(fā)展,但是你必須要了解容器可能受攻擊的面有多大,如何來(lái)進(jìn)行避免。

9. 網(wǎng)絡(luò)問(wèn)題

容器本身支持多達(dá)5種網(wǎng)絡(luò)模式,默認(rèn)的方式只是非常基礎(chǔ)的簡(jiǎn)單應(yīng)用,對(duì)于您的實(shí)際環(huán)境,則需要專(zhuān)門(mén)的特殊處理,才能是網(wǎng)絡(luò)性能達(dá)到最優(yōu)化。

10. 容器型運(yùn)維人員短缺

目前國(guó)內(nèi)對(duì)linux比較熟悉的運(yùn)維都是供不應(yīng)求,而容器是建立在linux之上的,誠(chéng)然容器可以提升開(kāi)發(fā)、測(cè)試和運(yùn)維的效率,但是這是建立在你有懂docker的運(yùn)維的人員。據(jù)我所知,目前國(guó)內(nèi)對(duì)docker很熟悉的運(yùn)維人員非常少,docker的一手資料基本都是英文的,對(duì)英文非常熟悉的運(yùn)維人員并不多。

對(duì)于上面的問(wèn)題,其中的每一條都可能延伸出來(lái)很長(zhǎng)的篇幅,這些都是筆者在實(shí)際開(kāi)發(fā)和應(yīng)用中遇到過(guò)的問(wèn)題, Docker的發(fā)展速度飛航快,到現(xiàn)在已經(jīng)3年了,現(xiàn)在它已經(jīng)從一個(gè)測(cè)試-發(fā)布的工具,逐步轉(zhuǎn)變成為基礎(chǔ)架構(gòu)的組成部分,正式邁向產(chǎn)品化環(huán)境,但實(shí)際使用中依然有很多需要注意的地方。

作者介紹:晏?hào)|,精靈云(ghostcloud)聯(lián)合創(chuàng)始人,20年編程經(jīng)驗(yàn),全棧工程師,曾任索貝數(shù)碼及賽門(mén)鐵克架構(gòu)師架構(gòu)師,一直從事SAN、NAS及對(duì)象存儲(chǔ)等分布式系統(tǒng)研發(fā)工作。2013年開(kāi)始研究LXC和Docker相關(guān)技術(shù),目前主要從事容器云平臺(tái)鏡像及倉(cāng)庫(kù)方面研發(fā)工作。

責(zé)任編輯:xinxiaoliang 來(lái)源: 51CTO
相關(guān)推薦

2024-09-09 08:02:27

2011-03-04 13:49:38

FileZilla

2020-07-29 08:03:26

Celery異步項(xiàng)目

2010-06-07 16:51:06

rsync 使用

2011-04-13 13:54:03

HttpClient

2022-02-07 00:10:28

Docker容器開(kāi)發(fā)

2009-12-29 14:14:22

2009-11-02 08:56:17

2010-05-11 18:05:50

MySQL 5安裝

2015-07-09 10:36:40

iOS

2009-12-10 14:19:41

配置靜態(tài)路由

2023-02-28 16:26:46

推薦系統(tǒng)模塊

2011-04-11 13:28:31

Oracle安裝

2010-01-04 18:25:24

Ubuntu Auda

2021-11-15 15:43:28

Windows 11升級(jí)微軟

2011-04-11 13:25:59

Sybase安裝

2012-07-26 10:10:27

虛擬化安全網(wǎng)絡(luò)安全

2021-12-24 10:17:54

Java數(shù)據(jù)時(shí)間戳

2012-07-27 10:01:13

虛擬化

2010-03-15 09:11:25

Python編程版面
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)