国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

K8S必備知識--docker的介紹以及安裝

這篇具有很好參考價值的文章主要介紹了K8S必備知識--docker的介紹以及安裝。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

docker:

本身是容器:
容器可以保護(hù)內(nèi)容物

docker最初是dotCloud公司內(nèi)部的一個業(yè)余項目,基于谷歌公司推出的Go語言實現(xiàn)的

以前為了實現(xiàn)同一臺機上的各個應(yīng)用隔離,采用虛擬化技術(shù),但消耗資源過大
各應(yīng)用的隔離是通過namespace的隔離來實現(xiàn)的

玩容器保證linux內(nèi)核版本在3.8以上
user-操作進(jìn)程的用戶和用戶組實現(xiàn)隔離在內(nèi)核3.8版本才實現(xiàn)

docker引擎出道即巔峰,便捷,簡單,規(guī)范

1、Docker是什么?

Docker是一個虛擬環(huán)境容器,可以將你的開發(fā)環(huán)境、代碼、配置文件等一并打包到這個容器中,
并發(fā)布和應(yīng)用到任意平臺中。比如,你在本地用Python開發(fā)網(wǎng)站后臺,
開發(fā)測試完成后,就可以將Python3及其依賴包、Flask及其各種插件、Mysql、Nginx等打包到一個容器中,
然后部署到任意你想部署到的環(huán)境。

Docker的三個概念
鏡像(Image):類似于虛擬機中的鏡像,是一個包含有文件系統(tǒng)的面向Docker引擎的只讀模板。
任何應(yīng)用程序運行都需要環(huán)境,而鏡像就是用來提供這種運行環(huán)境的。
例如一個Ubuntu鏡像就是一個包含Ubuntu操作系統(tǒng)環(huán)境的模板,同理在該鏡像上裝上Apache軟件,
就可以稱為Apache鏡像。

容器(Container):類似于一個輕量級的沙盒,
可以將其看作一個極簡的Linux系統(tǒng)環(huán)境(包括root權(quán)限、進(jìn)程空間、用戶空間和網(wǎng)絡(luò)空間等),
以及運行在其中的應(yīng)用程序。Docker引擎利用容器來運行、隔離各個應(yīng)用。
容器是鏡像創(chuàng)建的應(yīng)用實例,可以創(chuàng)建、啟動、停止、刪除容器,各個容器之間是是相互隔離的,互不影響。
注意:鏡像本身是只讀的,容器從鏡像啟動時,Docker在鏡像的上層創(chuàng)建一個可寫層,鏡像本身不變。
基于autofs

倉庫(Repository):類似于代碼倉庫,這里是鏡像倉庫,是Docker用來集中存放鏡像文件的地方。
注意與注冊服務(wù)器(Registry)的區(qū)別:注冊服務(wù)器是存放倉庫的地方,一般會有多個倉庫;
而倉庫是存放鏡像的地方,一般每個倉庫存放一類鏡像,每個鏡像利用tag進(jìn)行區(qū)分,
比如Ubuntu倉庫存放有多個版本(12.04、14.04等)的Ubuntu鏡像。

Docker的安裝和卸載
Docker可以安裝在Windows、Linux、Mac等各個平臺上。
具體可以查看文檔Install Docker。安裝完成之后,可以查看Docker的版本信息:

容器:鏡像運行時的實體
鏡像(Image)和容器(Container)的關(guān)系,就像是面向?qū)ο蟪绦蛟O(shè)計中的類和實例一樣,鏡像是靜態(tài)的定義,
容器是鏡像運行時的實體。容器可以被創(chuàng)建、啟動、停止、刪除、暫停等 。

容器的實質(zhì)是進(jìn)程,但與直接在宿主執(zhí)行的進(jìn)程不同,
容器進(jìn)程運行于屬于自己的獨立的命名空間。前面講過鏡像使用的是分層存儲,容器也是如此。

容器存儲層的生存周期和容器一樣,容器消亡時,容器存儲層也隨之消亡。
因此,任何保存于容器存儲層的信息都會隨容器刪除而丟失。

按照 Docker 最佳實踐的要求,容器不應(yīng)該向其存儲層內(nèi)寫入任何數(shù)據(jù) ,
容器存儲層要保持無狀態(tài)化。

所有的文件寫入操作,都應(yīng)該使用數(shù)據(jù)卷(Volume)、或者綁定宿主目錄,
在這些位置的讀寫會跳過容器存儲層,直接對宿主(或網(wǎng)絡(luò)存儲)發(fā)生讀寫,其性能和穩(wěn)定性更高。

數(shù)據(jù)卷的生存周期獨立于容器,容器消亡,數(shù)據(jù)卷不會消亡。因此, 使用數(shù)據(jù)卷后,
容器可以隨意刪除、重新 run,數(shù)據(jù)卻不會丟失。

注意:

容器在整個應(yīng)用程序生命周期工作流中提供以下優(yōu)點:隔離性、可移植性、靈活性、可伸縮性和可控性。
最重要的優(yōu)點是可在開發(fā)和運營之間提供隔離。

倉庫:集中存放鏡像文件的地方
鏡像構(gòu)建完成后,可以很容易的在當(dāng)前宿主上運行,但是, 如果需要在其他服務(wù)器上使用這個鏡像,
我們就需要一個集中的存儲、分發(fā)鏡像的服務(wù),Docker Registry 就是這樣的服務(wù)。

一個 Docker Registry 中可以包含多個倉庫(Repository);每個倉庫可以包含多個標(biāo)簽(Tag);
每個標(biāo)簽對應(yīng)一個鏡像。

所以說,鏡像倉庫是 Docker 用來集中存放鏡像文件的地方,類似于我們之前常用的代碼倉庫。

通常,一個倉庫會包含同一個軟件不同版本的鏡像,而標(biāo)簽就常用于對應(yīng)該軟件的各個版本 。

我們可以通過<倉庫名>:<標(biāo)簽>的格式來指定具體是這個軟件哪個版本的鏡像。

如果不給出標(biāo)簽,將以 latest 作為默認(rèn)標(biāo)簽。

這里補充一下 Docker Registry 公開服務(wù)和私有 Docker Registry 的概念:

Docker Registry 公開服務(wù)是開放給用戶使用、允許用戶管理鏡像的 Registry 服務(wù)。

一般這類公開服務(wù)允許用戶免費上傳、下載公開的鏡像,并可能提供收費服務(wù)供用戶管理私有鏡像。

最常使用的 Registry 公開服務(wù)是官方的 Docker Hub ,這也是默認(rèn)的 Registry,
并擁有大量的高質(zhì)量的官方鏡像,網(wǎng)址為:hub.docker.com/ 。

在國內(nèi)訪問 Docker Hub 可能會比較慢,國內(nèi)也有一些云服務(wù)商提供類似于 Docker Hub 的公開服務(wù)。

除了使用公開服務(wù)外,用戶還可以在本地搭建私有 Docker Registry 。
Docker 官方提供了 Docker Registry 鏡像,可以直接使用做為私有 Registry 服務(wù)。

開源的 Docker Registry 鏡像只提供了 Docker Registry API 的服務(wù)端實現(xiàn),足以支持 Docker 命令,
不影響使用。但不包含圖形界面,以及鏡像維護(hù)、用戶管理、訪問控制等高級功能。

Docker的主要應(yīng)用場景
簡化配置
虛擬機的最大好處是能在你的硬件設(shè)施上運行各種配置不一樣的平臺(軟件、系統(tǒng)),
Docker在降低額外開銷的情況下提供了同樣的功能。它能讓你將運行環(huán)境和配置放在代碼中然后部署,
同一個Docker的配置可以在不同的環(huán)境中使用,這樣就降低了硬件要求和應(yīng)用環(huán)境之間耦合度。

簡單的來說,容器鏡像打包完成后,它就是個獨立的個體了,丟到哪里都能跑,而無需針對各個平臺去獨立配置。

代碼流水線(Code Pipeline)管理
前一個場景對于管理代碼的流水線起到了很大的幫助。代碼從開發(fā)者的機器到最終在生產(chǎn)環(huán)境上的部署,
需要經(jīng)過很多的中間環(huán)境。而每一個中間環(huán)境都有自己微小的差別,
Docker給應(yīng)用提供了一個從開發(fā)到上線均一致的環(huán)境,讓代碼的流水線變得簡單不少。

提高開發(fā)效率
不同的開發(fā)環(huán)境中,我們都想把兩件事做好。一是我們想讓開發(fā)環(huán)境盡量貼近生產(chǎn)環(huán)境,
二是我們想快速搭建開發(fā)環(huán)境。

使用Docker非常簡單的就能夠?qū)崿F(xiàn)這兩點,而且哪怕是開發(fā)環(huán)境的機器配置一般的情況下搭建多個生成服務(wù)應(yīng)用。
一臺一般配置服務(wù)器或開發(fā)機也能輕松的跑起多個Docker應(yīng)用,而無需額外增加機器配置。
因為Docker有個非常NB的特性,擁有虛擬化的特性,而幾乎沒有額外的開銷。

Docker改變了什么?
綜上所述,Docker到底改變了什么?筆者是這么理解的:

Docker改變了云服務(wù),使云服務(wù)的共融共通的理想逐步成為了可能。
并且Docker 已經(jīng)是云策略的一部分,許多開發(fā)者正在計劃使用 Docker 將業(yè)務(wù)遷移到云端。
另外,為了避免被云服務(wù)供應(yīng)商綁定,Docker成為很多開發(fā)者的首選。

Docker改變了產(chǎn)品交付,為產(chǎn)品的整個生命周期提供了一整套的解決方案和流程。

Docker改變了開發(fā)方式,提供了簡化的環(huán)境配置、封裝的運行環(huán)境以及統(tǒng)一的環(huán)境。并且提供了快速部署的方式。

Docker改變了測試,多版本測試變得極為方便,快速構(gòu)建測試環(huán)境也變得更加簡單并且無需開發(fā)人員干預(yù)或者搭建。

Docker改變了運維,環(huán)境的一致性讓運維變得更加簡單,同時熱更新的支持讓運維不再需要半夜加班部署更新,
更新可以隨時進(jìn)行。當(dāng)出現(xiàn)重大問題時,還能快速回滾到指定版本。

Docker改變了架構(gòu),自動化擴(kuò)容支持讓架構(gòu)變得更加簡單,分布式系統(tǒng)也更加易于搭建和支持。
同時遺留的單體應(yīng)用也很易于轉(zhuǎn)變?yōu)楝F(xiàn)代應(yīng)用。

總之,在某種程度上,Docker改變了產(chǎn)品開發(fā)中的一些游戲規(guī)則。雖然Docker是一項技術(shù),
但是它也帶來了新的思維,新的流程和工作方法,Docker在推動行業(yè)的發(fā)展,Docker已經(jīng)在改變世界,
并且在逐步的變?yōu)槭聦崱?/p>

缺點:
太依賴操作系統(tǒng)
依賴網(wǎng)絡(luò)
銀行U盾等場景不能用

2、linux上docker安裝

卸載舊版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine

Device Mapper
Docker默認(rèn)使用AUFS作為存儲驅(qū)動,但是AUFS并沒有被包括在Linux的主線內(nèi)核中。

CentOS中可以使用Device Mapper作為存儲驅(qū)動,這是在2.6.9內(nèi)核版本引入的新功能。
我們需要先確認(rèn)是否啟用該功能:

$ ls -l /sys/class/misc/device-mapper
lrwxrwxrwx 1 root root 0 May 1 20:55 /sys/class/misc/device-mapper -> …/…/devices/virtual/misc/device-mapper
如果沒有檢測到Device Mapper,需要安裝device-mapper軟件包:

$ sudo yum install -y device-mapper
然后重新加載dm_mod內(nèi)核模塊:

$ sudo modprobe dm_mod

安裝docker-ce
參照阿里鏡像源安裝

CentOS 7(使用 yum 進(jìn)行安裝)
#step 1: 安裝必要的一些系統(tǒng)工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#Step 2: 添加軟件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#Step 3
sudo sed -i ‘s+download.docker.com+mirrors.aliyun.com/docker-ce+’ /etc/yum.repos.d/docker-ce.repo
#Step 4: 更新并安裝Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
#Step 4: 開啟Docker服務(wù)
sudo service docker start

#注意:
#官方軟件源默認(rèn)啟用了最新的軟件,您可以通過編輯軟件源的方式獲取各個版本的軟件包。
例如官方并沒有將測試版本的軟件源置為可用,您可以通過以下方式開啟。同理可以開啟各種測試版本等。
#vim /etc/yum.repos.d/docker-ce.repo
#將[docker-ce-test]下方的enabled=0修改為enabled=1

#安裝指定版本的Docker-CE:
#Step 1: 查找Docker-CE的版本:
#yum list docker-ce.x86_64 --showduplicates | sort -r
#Loading mirror speeds from cached hostfile
#Loaded plugins: branch, fastestmirror, langpacks
#docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
#docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
#docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
#Available Packages
#Step2: 安裝指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
#sudo yum -y install docker-ce-[VERSION]

查看安裝的docker版本:
docker -v

[root@220 ~ ]# docker version
Client: Docker Engine - Community
Version: 20.10.14
API version: 1.41
Go version: go1.16.15
Git commit: a224086
Built: Thu Mar 24 01:49:57 2022
OS/Arch: linux/amd64
Context: default
Experimental: true

docker的配置文件:
/etc/docker/daemon.json

資源目錄:
/var/lib/docker/

little docker ]#cd /var/lib/docker/
[root@little docker ]#ll
total 0
drwx–x–x 4 root root 120 Feb 20 14:48 buildkit
drwx-----x 2 root root 6 Feb 20 14:48 containers 容器信息
drwx------ 3 root root 22 Feb 20 14:48 image 鏡像資源
drwxr-x— 3 root root 19 Feb 20 14:48 network
drwx-----x 3 root root 40 Feb 20 14:48 overlay2
drwx------ 4 root root 32 Feb 20 14:48 plugins
drwx------ 2 root root 6 Feb 20 14:48 runtimes
drwx------ 2 root root 6 Feb 20 14:48 swarm
drwx------ 2 root root 6 Feb 20 14:48 tmp
drwx------ 2 root root 6 Feb 20 14:48 trust
drwx-----x 2 root root 50 Feb 20 14:48 volumes

3、docker加速器:

國內(nèi)使用docker官方鏡像源,會因為網(wǎng)絡(luò)原因無法下載,或一直處于超時狀態(tài)。我們使用
daocloud.io的方法進(jìn)行加速配置

[root@little ~ ]#curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://abcd1234.m.daocloud.io
docker version >= 1.12
{“registry-mirrors”: [“http://abcd1234.m.daocloud.io”]}
Success.
You need to restart docker to take effect: sudo systemctl restart docker

或者修改本地配置文件:
[root@little ~ ]#vim /etc/docker/daemon.json
{“registry-mirrors”: [“http://abcd1234.m.daocloud.io”]}

保存即可

驗證拉取鏡像速度:

docker image pull nginx

阿里云加速
[root@little ~ ]#vim /etc/docker/daemon.json
{“registry-mirrors”: [“https://q2gr04ke.mirror.aliyuns.com”],“insecure-registries”:[“10.1.1.100:5000”]}
~

docker 1.12 開始支持live restore,就是關(guān)閉docker daemon ,而不關(guān)閉容器

有兩種方式開啟:
如果docker daemon正在運行并且你不想停止它,你可以添加配置到docker daemon的配置文件。
例如:在linux系統(tǒng)上默認(rèn)的配置文件是/etc/docker/daemon.json

{“l(fā)ive-restore”: true}

你必須傳遞一個SIGHUP信號給daemon進(jìn)程來重載配置。更多有關(guān)使用config.json來配置docker daemon的信息,
可以參考
daemon configuration file
在使用dockerd啟動時指定–live-restore選項文章來源地址http://www.zghlxwxcb.cn/news/detail-777001.html

到了這里,關(guān)于K8S必備知識--docker的介紹以及安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【云原生】k8s組件&架構(gòu)介紹與K8s最新版部署

    【云原生】k8s組件&架構(gòu)介紹與K8s最新版部署

    ? ? ? 個人主頁: 征服bug-CSDN博客 kubernetes專欄: kubernetes_征服bug的博客-CSDN博客? 目錄 1 集群組件 1.1 控制平面組件(Control Plane Components) 1.2 Node 組件 1.3 插件 (Addons) 2 集群架構(gòu)詳細(xì) 3 集群搭建[重點] 3.1 minikube 3.2 裸機安裝 集群組件 核心概念 集群安裝 集群 cluster : 將同一個

    2024年02月14日
    瀏覽(90)
  • 【云原生 ? Kubernetes】認(rèn)識 k8s、k8s 架構(gòu)、核心概念點介紹

    【云原生 ? Kubernetes】認(rèn)識 k8s、k8s 架構(gòu)、核心概念點介紹

    目錄 一、Kubernetes 簡介 二、Kubernetes 架構(gòu) 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服務(wù) service 6. 發(fā)布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念總結(jié) Kubernetes 簡稱 k8s,是支持云原生部署的一個平臺,起源于谷歌。谷歌早在十幾

    2024年02月03日
    瀏覽(860)
  • 云原生_kubernetes(k8s)介紹

    云原生_kubernetes(k8s)介紹

    目錄 一、應(yīng)用部署方式演變 二、k8s介紹 三、k8s的組件 四、k8s中的概念 五、k8s資源管理方式 1、命令式對象管理 2、命令式對象配置 3、聲明式對象配置 在部署應(yīng)用程序的方式上,主要經(jīng)歷了三個時代: 1 、物理機部署: 互聯(lián)網(wǎng)早期,會直接將應(yīng)用程序部署在物理機上 優(yōu)點

    2023年04月13日
    瀏覽(104)
  • 【云原生,k8s】Helm應(yīng)用包管理器介紹

    【云原生,k8s】Helm應(yīng)用包管理器介紹

    目錄 一、為什么需要Helm? (一)Helm介紹 (二)Helm有3個重要概念: (三)Helm特點 二、Helm V3變化 (一)架構(gòu)變化 (二)自動創(chuàng)建名稱空間 三、Helm應(yīng)用包管理器部署 1、部署Helm客戶端工具 2、Helm常用命令 3、配置國內(nèi)的Chart倉庫 4、使用chart部署一個Nginx應(yīng)用 5、使用chart部

    2024年02月12日
    瀏覽(25)
  • docker在k8s容器中的作用,以及docker的底層原理,以及k8s的常用命令

    ? ? Docker的設(shè)計思想就是創(chuàng)建軟件程序可移植性的輕量級容器,讓其可以在任何安裝了Docker的機器上,不用關(guān)心底層操作系統(tǒng),就可以運行開發(fā)程序,就像集裝箱一樣使用。 Docker 是一個開源的應(yīng)用容器引擎,基于 Go 語言 并遵從Apache2.0協(xié)議開源。 Docker 可以讓開發(fā)者打包他們

    2024年04月27日
    瀏覽(35)
  • 【云原生】Kubeadmin安裝k8s集群

    【云原生】Kubeadmin安裝k8s集群

    目錄 前言: 一 環(huán)境部署 1.1 服務(wù)器部署功能 1.2 環(huán)境準(zhǔn)備(所有節(jié)點) 二 安裝docker(所有節(jié)點) 三 所有節(jié)點安裝kubeadm,kubelet和kubectl 3.1?定義kubernetes源 3.2?開機自啟kubelet 四?部署K8S集群 4.1?查看初始化需要的鏡像 4.2 master節(jié)點上傳壓縮包 4.3?復(fù)制鏡像和腳本到 node 節(jié)點

    2024年02月09日
    瀏覽(17)
  • 【云原生-K8s】k8s可視化管理界面安裝配置及比較【Kuboard篇】

    【云原生-K8s】k8s可視化管理界面安裝配置及比較【Kuboard篇】

    安裝了k8s控制面板,方便日常的問題處理,查看資源狀態(tài)信息,也可以增加子賬號進(jìn)行開放給其他人員使用,減少命令操作,提升工作效率 須有一個正常使用的k8s集群 附k8s v1.23版本搭建:https://blog.csdn.net/u010800804/article/details/124524688 快速落地 Kubernetes 官網(wǎng):https://kuboard.cn/ 開

    2024年02月07日
    瀏覽(28)
  • 【云原生-K8s】k8s可視化管理界面安裝配置及比較【Rancher篇】

    【云原生-K8s】k8s可視化管理界面安裝配置及比較【Rancher篇】

    安裝了k8s控制面板,方便日常的問題處理,查看資源狀態(tài)信息,也可以增加子賬號進(jìn)行開放給其他人員使用,減少命令操作,提升工作效率 須有一個正常使用的k8s集群 附k8s v1.20版本搭建:https://blog.csdn.net/u010800804/article/details/124524688 企業(yè)級Kubernetes管理平臺 Rancher為采用容器的

    2024年02月16日
    瀏覽(47)
  • 【云原生|K8s系列第1篇】:K8s的基礎(chǔ)概念、組件架構(gòu)及實戰(zhàn)安裝

    【云原生|K8s系列第1篇】:K8s的基礎(chǔ)概念、組件架構(gòu)及實戰(zhàn)安裝

    首先,K8s并不是一個傳統(tǒng)意義上的 PaaS平臺即服務(wù)的工具,它充分給使用者提供了很多很多選擇的空間。 不限制支持的應(yīng)用程序類型,K8s并不插手應(yīng)用程序框架, 也不限制支持的語言 (如 Java, Python, Ruby 等),只要應(yīng)用符合 12 因素即可。也就是說,只需要應(yīng)用可以在容器中運行

    2024年02月03日
    瀏覽(101)
  • 【云原生-K8s】k8s可視化管理界面安裝配置及比較【Dashboard UI篇】

    【云原生-K8s】k8s可視化管理界面安裝配置及比較【Dashboard UI篇】

    Dashboard 是基于網(wǎng)頁的 Kubernetes 用戶界面。 你可以使用 Dashboard 將容器應(yīng)用部署到 Kubernetes 集群中,也可以對容器應(yīng)用排錯,還能管理集群資源。 你可以使用 Dashboard 獲取運行在集群中的應(yīng)用的概覽信息,也可以創(chuàng)建或者修改 Kubernetes 資源 (如 Deployment,Job,DaemonSet 等等)。

    2024年02月13日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包