Docker初探之Windows篇

2022-05-01 06:45:08 字數 3207 閱讀 8188

一、什麼是docker?

docker是乙個開源的應用容器引擎,可以輕鬆地為任何應用建立乙個輕量級、可移植、自給自足的容器。開發者在本地編譯測試通過的容器可以批量地在生產環境中部署,包括虛擬機器和其他平台。

我們可以將自己的應用以及依賴的環境一起打包到乙個容器中,然後這個容器就可以很容易的放到其他機器上執行。而且非常易於裝載、複製、移除。

二、虛擬機器和docker對比

在上圖中,容器是乙個應用層抽象,用於將**和依賴資源打包在一起。多個容器可以在同一臺機器上執行,共享作業系統核心,但各自作為獨立的程序在使用者空間中執行。與虛擬機器相比,容器占用的空間較少,瞬間就能完成啟動。

虛擬機器則是乙個物理硬體層抽象,用於將一台伺服器變成多台伺服器,管理程式允許多個虛擬機器在一台機器上執行,每個虛擬機器都包含乙個獨立的作業系統、乙個或多個應用、必要的二進位制檔案和資源庫。因此占用大量空間,啟動也十分緩慢。

由於容器所需要的資源要比虛擬機器少(虛擬機器需要乙個完整的系統環境),所以它們易於部署且快速啟動。

特性容器

虛擬機器啟動速度

秒級幾秒內就可以啟動

分鐘級有時候需要長達十幾分鐘才能啟動,具體看環境安裝資源大小而定

儲存空間占用

一般為mb為單位

需要的空間至少g單位的空間

效能接近原生,基本沒有其他的消耗

作業系統會占用較多的資源

系統支援量

一台普通的伺服器可以支援上千個容器

一般最多支援幾十個虛擬機器,而且看電腦配置而定

三、拋開虛擬機器面向docker容器

現在大應用不斷增加,容器化是技術發的必然趨勢,容器技術也會不斷地進化,所以我們要把容器技術用起來,就從docker開始!

有很多小夥伴都覺得用這個有一定地門檻,安裝太麻煩,當然,這也是誤區。

有些人認為用docker很麻煩,只有大公司用,或者學習這個成本很高,認為對現有系統、架構改造太大,成本太高等等,這些都是誤區。

四、docker的三個基本概念

1、映象

docker映象是乙個特殊的檔案系統,除了提供容器執行時所需要的程式、庫、資源、配置等檔案外,還包含了一些為執行時準備的配置引數。映象不包含任何動態資料,其內容在構建後也不會改變。

我們可以簡單的理解,映象就像是乙個什麼環境、依賴資源、檔案和你的應用程式都跟你打包的乙個檔案系統。就類似於作業系統一樣,作業系統也是由c盤下的windows資料夾和其他系統檔案組成的一樣,要執行作業系統,肯定是需要這些資源、檔案、依賴都存在,你可以理解為這一整套檔案系統就是映象。

2、容器

容器和映象的關係就像是物件導向程式中的例項和類一樣,類是靜態的,例項是通過類執行起來才有的。執行起來的程式才有程序。

容器你可以理解為執行起來的映象,比如,一套系統程式也是由很多個檔案、資源、依賴組成,那麼把它完整的一套說法類似叫映象。如果系統程式沒有執行起來,它其實也是放在硬碟上的系統檔案而已。而容器,就是表示把系統程式執行起來,相當在電腦裡開乙個程序,執行起來的系統程式我們稱之為容器。你可以這麼想:針對同一套系統程式你可以執行多個,就是有多個程序。對於容器來說,你也可以同時執行多個同乙個映象的容器,這方便我們做集群。

3、倉庫

映象我們構建好後,可以很容易的在當前的作業系統上執行,但是如果需要在其他伺服器上使用這個映象,我們就需要乙個集中存放、分發映象的乙個服務中心。

每個倉庫可以包含多個標籤,每個標籤對應乙個映象,通常乙個倉庫包含同乙個軟體不同版本的映象,而根據標籤來區分軟體的各個不同版本。如果我們要使用倉庫裡的映象,一般都會指定乙個標籤用於指定軟體版本,如果不指定標籤則用最新的乙個版本。

(這裡用docker提供的docker for windows為例,docker toolbox適用於windows 10以下的系統,我本人是window 10)

docker 是乙個應用容器引擎,肯定需要安裝才能使用。

docker可以執行在linux上,也可以執行在windows上,在這裡,目前以windows環境為例,後面再說linux上的docker使用,一般在linux上運用docker居多。

要在windows上執行docker,需要滿足下面幾個條件:

1、windows 10 64位:pro、enterprise或education (build 14393或更高版本)

2、在bios中啟用虛擬化。一般預設是啟用的

啟用hyper-v

安裝成功後,桌面會有乙個docker圖示:

雙擊執行後,右下角會多出乙個託管圖示:

右鍵:

點選settings進入設定面板:

介面左下角有個綠色圖示+docker running,表示docker已經正常執行起來了。 

在這裡我用阿里雲的:

如果是windows 10的使用者則直接以下操作:修改registry-mirros節點。

修改後重啟docker服務即可。

重啟後我們可以小試一下:

開啟windows powershell 工具

開啟後,輸出命令 docker image ls 表示輸出當前已經存在的映象列表如:

這是我本機的,我上面裝載了rabbitmq、mysql和redis常用的服務工具映象。

Docker初探之執行RabbitMQ訊息佇列服務

我們平時在使用rabbitmq是基於windows作業系統的,在使用前需要安裝er lang和rabbitmq服務程式,如果版本不對rabbitmq就啟動失敗,安裝流程也比較麻煩。但如果在docker中則變得簡單。在使用rabbitmq之前,我們首先需要拉取rabbitmq映象,然後在進行執行rab...

docker學習筆記(一)初探docker

docker 可以簡單理解為一種容器,將開發完成的應用程式打包,在任意環境中部署執行,消除了不同物理環境中執行的差異。按照docker官方比喻,運輸貨物時,要用到多種不同的運輸工具,可能包括貨車 叉車 起重機 火車和輪船。這意味著這些工具必須能夠處理大小不 一 運輸需求各異的貨物 例如袋裝的咖啡 桶...

docker在centos和windows的安裝

yum remove docker docker client docker client latest docker common docker latest docker latest logrotate docker logrotate docker engine yum install y ...