Docker 是一個開源的應用容器引擎,它可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。
鯨魚上載滿了集裝箱 ==> 容器技術
參考文件:https://blog.csdn.net/q610376681/article/details/90483576
沒有集裝箱之前運輸貨物,東西零散容易丟失,有了集裝箱之後貨物不易丟失,假如我們把程式想象成貨物,我們現在要把程式部署到一臺新的機器上,在此過程中可能因爲少一些組態檔或少一些什麼數據,程式可能就執行不起來了,有了docker就可以保證我們的程式不管執行在哪都不會缺東西。
docker運輸東西有一個超級碼頭,任何地方需要貨物都由鯨魚先送到超級碼頭,然後再由鯨魚從超級碼頭把貨物送到目的地去。比如我們要把臺式機的應用部署到筆電上,我們的方法有很多,比如可以選擇用QQ發過去或者用U盤拷過去……,docker就標準化了這個過程,我們只需在臺式機上執行一個docker命令,把鯨魚派過來,把程式送到超級碼頭去,再在筆電上執行一個docker命令,然後由鯨魚把程式從超級碼頭送到筆電上去即可。
當我們把程式儲存到筆電上時,我們需要一個目錄,且我們要記住這個目錄,因爲下次我們可能還要修改,有了docker之後我們就不用記住了程式在哪裏了,我們使用的時候只需要一條命令就行了.
docker提供了一系列rest api的介面,包含了對docker,也就是對我們的應用的一個啓動、停止、檢視、刪除等等,假如當我們要啓動tomcat時我們要執行startup命令,當我們要停止時要執行shutdown命令,如果不是tomcat,我們可能還需要一些別的命令,有了docker我們記docker的命令就可以對其進行操作。
Docker 包括三個基本概念:
Docker 使用用戶端-伺服器 (C/S) 架構模式,使用遠端API來管理和建立Docker容器。
Docker 容器通過 Docker 映象來建立。
我們可以將 Docker 映象理解爲包含應用程式以及其相關依賴的一個基礎檔案系統,在 Docker 容器啓動的過程中,它以只讀的方式被用於建立容器的執行環境。
容器和映象一樣,也是若幹層的疊加,唯一區別是所有隻讀層的最上面一層,是一層可讀可寫層,可以記住這個簡單的公式:容器 = 容器映象 + 可讀可寫層。
倉庫(Repository)是最易理解的部分,大家都用過Node的包管理Npm,這個概念是一致的,倉庫分爲兩種,本地及遠端,當我們build好一個映象後,這個映象會先存放到本地倉庫,當我們需要利用網路進行分發時,我們可以push到遠端倉庫,後續通過網路下載使用。
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 * ^刪除當前目錄下所有的檔案