docker入門與實踐

2022-05-08 20:51:11 字數 1446 閱讀 7569

docker是docker.lnc公司開源的基於lxc技術之上構建的container容器引擎,源**託管在github上,基於go語言並遵從apache 2.0協議開源。誕生於2023年初。

docker是通過核心虛擬化技術(namespaces及cgroup等)來提供容器的資源隔離與安全保障等。由於docker通過作業系統層的虛擬化實現隔離,所以docker容器在執行時,不需要類似虛擬機器額外的作業系統開銷,提高資源利用率。

docker容器技術

docker引擎的基礎是linux容器(linux container,lxc)技術。容器有效的將由單個作業系統管理的資源劃分到孤立的組中,以便更好的在孤立的組之間平衡有衝突的資源使用需求。與虛擬化相比,這樣既不需要指令級模擬,也不需要即時編譯。容器可以在核心cpu本地執行指令,而不需要任何專門的解釋機制。

從linux容器到docker

在lxc基礎上,docker進一步優化了容器的使用體驗。docker提供了各種容器管理工具(如分發、版本,移植等)讓使用者無需關注底層的操作,可以簡單明瞭的管理和使用容器,可以將容器理解為一種沙盒。每個容器內執行乙個應用,不同的容器相互隔離,容器之間也可以簡歷通訊機制。容器本身對資源的需求十分有限,有時候直接把容器當做應用本身沒有任何問題。

1.1、為什麼使用docker

docker能夠在任何平台高效的構建應用,能夠脫離底層機器,具體來說,docker在開發和運維中,有下面幾個優勢:

#更快速交付和部署。開發人員可以使用映象來快速構建一套標準的開發環境,快速的建立,刪除容器,實現快速迭代,大量節約開發,測試,部署的時間。

#更高效的資源利用。docker容器的執行不需要額外的虛擬化管理程式支援,他是核心級別的虛擬化,可以實現更高的效能,同時對資源的額外需求很低。

#更輕鬆的擴充套件和遷移。docker容器幾乎可以在任何平台上執行,包括物理機,虛擬機器,雲平台,個人電腦,伺服器等。

#更簡單的更新管理。使用dockerfile,只要小小的配置修改,就可以替代以往的大量的更新工作。並且所有的修改都以增量的方式進行分發和更新,從而實現自動化並且高效的容器管理。

2.1、修改映象源

#更改國外映象源為國內(中科大)

sed -i '

s#download.docker.com#mirrors.ustc.edu.cn/docker-ce#g

' /etc/yum.repos.d/docker-ce.repo

2.2、安裝docker

yum install docker-ce -y

Docker 入門實踐

docker兩個最重要的概念是映象和容器。重要。容器 container 映象 images 倉庫 repository 除此之外,鏈結和資料卷也很 docker背後的想法是建立軟體程式可移植的輕量容器,讓其可以在任何安裝了docker的機器上執行,而不用關心底層作業系統,就像野心勃勃的造船者們成功...

Docker入門實踐

docker是一門很成熟的容器技術,類似虛擬機器技術主要用做環境的隔離,方便環境的複製映象,虛擬機器是基於作業系統這一層的,而docker更加的輕量級,像是 應用 層級的。比如我需要乙個mysql環境 乙個nginx環境 乙個netcore執行環境等等。有兩個非常重要的概念要搞明白 映象images...

Docker入門實踐

二 常用命令 三 入門實踐 參考最近在做機器學習相關的專案,其中谷歌ai模型需要用docker來配置環境,這篇文章僅用來記錄在這次實踐中學習到的docker相關知識,不會對docker進行長篇大論的介紹,希望能讓大家對docker有乙個快速的入門。首先我們來看看什麼是容器,貨櫃我們都知道,那麼容器是...