Docker 前沿概述

2022-01-10 05:33:10 字數 2902 閱讀 6992

目錄下面再來說說虛擬機器

docker 解決了什麼樣的問題

準備你的docker環境

回顧和備忘單

docker是基於go語言實現的開源容器專案。docker是乙個為開發者和系統管理員提供的開發,部署和執行的容器應用程式。linux使用容器開發應用程式的這種方式稱為容器化。docker專案已加入linux**會,並遵循apache2.0 協議,全部開源**再 專案倉庫進行維護。

docker中包括三個基本概念:容器(container)、映象(image)、倉庫(repository)

先來看看容器較為官方的解釋:容器就是將軟體打包成基本單元,用來開發、交付和部署。

docker中的image映象相當於是乙個檔案系統,除了提供容器執行時所需的程式、庫、資源、配置等檔案外,還包含了一些為執行時準備的一些配置引數。

映象可以基於dockerfile構建,dockerfile是乙個描述檔案,裡面包含若干條命令,每條命令都會對基礎檔案系統建立新的層次結構。

如果你使用過gitgithub就很容易理解docker的倉庫概念。docker倉庫相當於乙個github上的**庫。

docker 倉庫是用來包含映象的位置,docker提供乙個註冊伺服器(registry)來儲存多個倉庫,每個倉庫又可以包含多個映象。

它們的範圍大小依次是 倉庫 > 映象 > 容器

前面說到,容器在linux上本機執行,並與其他容器共享主機的核心。它執行乙個獨立的程序,不占用任何其他可執行檔案的記憶體,使其輕量級。

相比之下,虛擬機器執行乙個完整的客戶作業系統,通過虛擬機器管理程式對主機資源進行虛擬訪問。通常,vm提供的環境比大多數應用程式需要的資源更多。

下面這幅圖很好的表述了這一點

這或許也就能解釋 docker 如此流行的原因

下圖是docker容器技術與傳統虛擬機器技術的比較:

特性容器

虛擬機器啟動速度

秒級分鐘級

效能接近原生

較弱記憶體代價

很小較多

硬碟使用

一般為mb

一般為gb

執行密度

單機支援上千個容器

一般為幾十個

隔離性安全隔離

完全隔離

遷移性優秀

一般一項技術或者軟體的流行都是為了解決某種問題應用而生的,那麼話說回來了,docker解決了什麼問題呢?

但是docker解決了這個問題,應用程式的各種依賴和環境都直接部署在docker的容器中,起到隔離一切的目 的,就像是下圖所示的這樣

下面就開始你的docker搭建之旅吧!!!

我為你準備了下面四種環境的docker安裝教程,你可以根據教程來實現安裝

ununtu docker安裝

centos docker安裝

windows docker安裝

macos docker安裝

安裝完成後,執行docker --version確保你的系統已經支援了docker

等等測試你的安裝工作通過執行乙個簡單的docker 映像,hello-world:

列出顯示其訊息後退出的hello-world容器(由影象生成)。如果它仍在執行,則不需要--all選項:

列出docker cli 命令

docker

docker container --help

顯示docker version 和 info

docker --version

docker version

docker info

執行docker影象

docker run hello-world
列出docker 映像

docker image ls
列出docker容器

docker container ls

docker container ls --all

docker container ls -aq

參考:

docker 概念及基本用法

《docker實戰》

docker命令概述

映象操作 列出docker所有映象 docker images repository 映象所在倉庫名稱 tag 映象標籤 image id 映象id created 映象建立日期 size 映象大小 搜尋映象 docker search 映象名稱 name 倉庫名稱 description 映象描述...

Docker 引擎概述

docker engine 是乙個開源的容器技術,被用來對你的應用進行容器化構建。docker engine 實際上是乙個客戶端伺服器 client server 應用 命令列介面 cli 使用 docker apis 來控制和與 docker 來互相作用。這個使用指令碼或者 cli 命令列來進行控...

Docker入門(1) 概述

在這篇文章中,我將介紹一下為什麼需要虛擬化的環境。然後我將介紹耳熟能詳的虛擬化技術 虛擬機器,並大致的介紹一下虛擬機器的原理,希望能夠讓你知道虛擬機器的優劣。在之後,針對虛擬機器存在的問題,引出docker是怎麼提高效能的。最後,我將簡單的介紹一下docker中比較重要的三個概念,映象 容器 和倉庫...