初識Docker(瞭解Docker)

2020-08-14 19:09:35

初識Docker

1、簡介

Docker 是一個開源的應用容器引擎,它可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。
在这里插入图片描述 鯨魚上載滿了集裝箱 ==> 容器技術

2、瞭解Docker

參考文件:https://blog.csdn.net/q610376681/article/details/90483576

2.1 docker思想

2.1.1 集裝箱(容器技術)

沒有集裝箱之前運輸貨物,東西零散容易丟失,有了集裝箱之後貨物不易丟失,假如我們把程式想象成貨物,我們現在要把程式部署到一臺新的機器上,在此過程中可能因爲少一些組態檔或少一些什麼數據,程式可能就執行不起來了,有了docker就可以保證我們的程式不管執行在哪都不會缺東西。

2.1.2 標準化

  1. 運輸方式

docker運輸東西有一個超級碼頭,任何地方需要貨物都由鯨魚先送到超級碼頭,然後再由鯨魚從超級碼頭把貨物送到目的地去。比如我們要把臺式機的應用部署到筆電上,我們的方法有很多,比如可以選擇用QQ發過去或者用U盤拷過去……,docker就標準化了這個過程,我們只需在臺式機上執行一個docker命令,把鯨魚派過來,把程式送到超級碼頭去,再在筆電上執行一個docker命令,然後由鯨魚把程式從超級碼頭送到筆電上去即可。

  1. 儲存方式

當我們把程式儲存到筆電上時,我們需要一個目錄,且我們要記住這個目錄,因爲下次我們可能還要修改,有了docker之後我們就不用記住了程式在哪裏了,我們使用的時候只需要一條命令就行了.

  1. API介面

docker提供了一系列rest api的介面,包含了對docker,也就是對我們的應用的一個啓動、停止、檢視、刪除等等,假如當我們要啓動tomcat時我們要執行startup命令,當我們要停止時要執行shutdown命令,如果不是tomcat,我們可能還需要一些別的命令,有了docker我們記docker的命令就可以對其進行操作。

3、Docker 架構

Docker 包括三個基本概念:

  • 映象(Image):Docker 映象(Image),就相當於是一個 root 檔案系統(Root FileSystem,簡稱爲rootfs)。【瞭解root檔案系統】
  • 容器(Container):映象(Image)和容器(Container)的關係,就像是物件導向程式設計中的類和範例一樣,映象是靜態的定義,容器是映象執行時的實體。容器可以被建立、啓動、停止、刪除、暫停等。
  • 倉庫(Repository):倉庫可看成一個程式碼控制中心,用來儲存映象。

Docker 使用用戶端-伺服器 (C/S) 架構模式,使用遠端API來管理和建立Docker容器。

Docker 容器通過 Docker 映象來建立。

3.1 映象

我們可以將 Docker 映象理解爲包含應用程式以及其相關依賴的一個基礎檔案系統,在 Docker 容器啓動的過程中,它以只讀的方式被用於建立容器的執行環境。

3.2 容器

容器和映象一樣,也是若幹層的疊加,唯一區別是所有隻讀層的最上面一層,是一層可讀可寫層,可以記住這個簡單的公式:容器 = 容器映象 + 可讀可寫層。

3.3 倉庫

倉庫(Repository)是最易理解的部分,大家都用過Node的包管理Npm,這個概念是一致的,倉庫分爲兩種,本地及遠端,當我們build好一個映象後,這個映象會先存放到本地倉庫,當我們需要利用網路進行分發時,我們可以push到遠端倉庫,後續通過網路下載使用。

4、Linux 常用命令

docker images                           ^檢視映象(列出本地主機上的映象)
docker search +映象名字      	        ^查詢映象
docker pull +映象名字          	        ^下載映象
docker ps   					        ^檢視啓動容器 
docker ps -a                            ^檢視所有容器
docker rm +容器id  				        ^刪除選中的容器
docker rmi +映象id          	            ^刪除選中的映象
docker image rm -f +映象id    	        ^強制刪除選中映象
docker logs -f --tail 100 +容器名        ^跟蹤容器yyy的實時日誌100行
docker stop yyy                         ^暫停yyy容器
docker start yyy                        ^啓動斷開的容器
rm -rf *                                ^刪除當前目錄下所有的檔案