菜鳥系列docker docker基本概念 1

2022-07-25 22:09:17 字數 2295 閱讀 4963

這裡先介紹容器技術,後續再介紹docker。docker是容器的一種,除docker以外,還存在coreos。不過在當前趨勢下容器和docker基本上可以劃為等號了。

談到容器,大家可能很熟悉,就和大家在工地看到的貨櫃房子一樣,裡面基本設施都有,多個貨櫃房互不干擾,公用一些水電基本設施,當需要換個地方是時候,把貨櫃搬過去就行。而這裡的容器就是這樣的一種技術,可以把我們開發的一些程式,所需要的環境進行打包,使得我們的應用程式可以在虛擬機器、伺服器、雲服務等平台跑,而不需要在各個平台搭環境,在執行程式。容器是一種輕量級、可移植等軟體打包技術。

容器一般由2部分組成,應用程式和依賴庫或依賴的其他程式。可能說到這裡,就有人問這和虛擬機器有啥區別,都是需要一台宿主機執行,虛擬化出自己的環境跑自己的**。這裡我們就進行簡單的分析:

各位是否存在本地跑的好好的,在交付的時候發現問題一大堆,不是缺這個就是缺那個。最後來了句「在本地跑的好好的」。此時,由於環境問題,你可能就涼了。

這個時候,容器就可以大顯神威,容器就把貨櫃的思維用在it上,我們可以將環境、依賴及程式全部打包成乙個容器,在其他環境直接執行這個容器就好,就可以不考慮什麼環境問題,缺庫問題來。通過容器可以將任何應用及其依賴打包成乙個輕量級、可移植、自包含的容器。容器可以執行在幾乎所有的作業系統上。

上面簡單介紹來下容器是什麼?容器能幹啥?接下來肯定就是怎麼幹了?後續對容器的操作本系列將逐步進行講解,主要是對docker技術進行學習。

docker 採用的是 client/server 架構。客戶端向伺服器傳送請求,伺服器負責構建、執行和分發容器。客戶端和伺服器可以執行在同乙個 host 上,客戶端也可以通過 socket 或 rest api 與遠端的伺服器通訊。其中,docker客戶端我們一般就是直接通過命令操作,通過docker命令在宿主機進行容器、映象等一系列操作。而docker伺服器以linux後台的方式執行,執行我們操作的命令,例如容器的建立、執行,打映象等操作。

主要是以下3點,映象、容器和倉庫。

映象image

映象就是我們建立容器的一系列操作的集合,通過這個映象建立容器。我們一般寫乙個dockerfile檔案構建映象。這裡映象就和我們的程式安裝包類似,安裝後就可以執行程式了。

容器container

容器就是映象執行後的例項,類似於安裝包安裝後的程式,可以執行和退出。

「工欲善其事,必先利其器」,在正式學習之前,先安裝docker,這裡筆者是在centos環境下進行操作,其他環境下各位大佬自行度娘哈。

安裝docker

sudo yum update

sudo yum-config-manager --add-repo

sudo yum list docker-ce --showduplicates | sort -r

可根據上述顯示版本自行安裝,本人是預設

sudo yum install docker-ce

docker version

sudo systemctl start docker

因為一般docker操作時都需要root使用者許可權,這裡建議把當前使用者加入docker使用者組

# 新增 docker 使用者組

groupadd docker

# 把需要執行的 docker 使用者新增進該組,這裡是 eggsy

gpasswd -a eggsy docker

# 重啟 docker

systemctl restart docker

如果普通使用者執行docker命令,如果提示get …… dial unix /var/run/docker.sock許可權不夠,則修改/var/run/docker.sock許可權 使用root使用者執行如下命令,即可

sudo chmod a+rw /var/run/docker.sock

# docker服務開機自啟動

systemctl enable docker

刪除docker

yum list installed|grep docker

sudo yum -y remove docker-ce.x86_64 docker-ce-cli.x86_64

sudo rm -rf /var/lib/docker

有興趣的關注it程式設計師客棧哦

菜鳥系列 劃分樹

做回菜鳥,老老實實重新學起 資料結構 求k大值及左右和模版 define n 123456 int sorted n 對原集合中元素排序後的值 int val 20 n val記錄第k層當前位置的值 int num 20 n 記錄元素所在區間當前位置前的元素進入到左子樹的個數 int lnum,rn...

菜鳥系列 字典樹

做回菜鳥,老老實實重新學起 動態模版 動態鍊錶實現 define maxn 26 struct node node root 字典樹建立 void createtrie char str else 查詢 int findtrie char str return p v 返回以此為字首的串的數量 釋放...

菜鳥授徒系列之母函式

這是第二次接觸母函式類問題,相比於第一次的朦朦朧朧,第二次更加深刻。深深地感到母函式的強大,真是解決組合問題的一 寶,將做過的題分類 總結加深一下記憶。母函式包括 普通生成函式 解決組合問題 指數生成函式 解決排列問題 這裡全部是普通生成函式,可解決一系列組合問題,做題時要將題意與生成函式 g x ...