chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文帶你讀懂Docker容器 1

jf_78858299 ? 來(lái)源:碳峰博客 ? 作者: Tanyongfeng ? 2023-02-03 15:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Docker 是一個(gè)開(kāi)源軟件,用于開(kāi)發(fā)應(yīng)用、交付應(yīng)用、運(yùn)行應(yīng)用。 Docker允許用戶(hù)將基礎(chǔ)設(shè)施中的應(yīng)用單獨(dú)分割出來(lái),形成更小的顆粒(容器),從而提高交付軟件的速度。

一、Docker初識(shí)

1.什么是Docker

  • Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于Go 語(yǔ)言實(shí)現(xiàn)并遵從 Apache2.0 協(xié)議開(kāi)源。
  • Docker 可以讓開(kāi)發(fā)者打包他們的應(yīng)用以及依賴(lài)包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
  • 容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口(類(lèi)似 iPhone 的 app),更重要的是容器性能開(kāi)銷(xiāo)極低。

2.Docker vs VM

圖片

docker與vm比較

  • 傳統(tǒng)的虛擬機(jī)模擬出一套硬件來(lái)運(yùn)行操作系統(tǒng),也就是在硬件層面實(shí)現(xiàn)虛擬化,通常啟動(dòng)速度比較忙,資源消耗比較大。
  • Docker容器化技術(shù)則是在操作系統(tǒng)層面實(shí)現(xiàn)虛擬化,直接復(fù)用本地主機(jī)的操作系統(tǒng),而傳統(tǒng)虛擬機(jī)則是在硬件實(shí)現(xiàn)虛擬化。

3.Docker組成

Docker基本組成主要包括以下三部分內(nèi)容:

  • 鏡像(image) —> 類(lèi)模板
  • 容器(container)—> 對(duì)象
  • 倉(cāng)庫(kù)(repository)—> 鏡像倉(cāng)庫(kù)

Docker image:鏡像是只讀的,鏡像中包含有需要運(yùn)行的文件。鏡像用來(lái)創(chuàng)建container,一個(gè)鏡像可以運(yùn)行多個(gè)container;鏡像可以通過(guò)commit命令、Dockerfile等方式創(chuàng)建,也可以從Docker hub/registry上下載。

Docker container:容器是可寫(xiě)的,也是Docker的運(yùn)行組件,啟動(dòng)一個(gè)鏡像就是一個(gè)容器,容器是一個(gè)隔離環(huán)境,多個(gè)容器之間不會(huì)相互影響,保證容器中的程序運(yùn)行在一個(gè)相對(duì)安全的環(huán)境中。

Docker repository: 存儲(chǔ)鏡像的倉(cāng)庫(kù),用戶(hù)通過(guò)它來(lái)共享和管理Docker鏡像,用戶(hù)可以上傳或者下載上面的鏡像,官方地址為https://registry.hub.docker.com/,也可以搭建自己私有的Docker registry。

4.Docker優(yōu)點(diǎn)

應(yīng)用架構(gòu)上 ,就比如那一個(gè)訂購(gòu)系統(tǒng)來(lái)舉例子,本來(lái)是一個(gè)基本的靜態(tài)網(wǎng)頁(yè)用來(lái)電話訂購(gòu),現(xiàn)在需要網(wǎng)絡(luò)訂購(gòu)了,那么我們就需要引入DB,再然后為了提升性能,引入了類(lèi)似Redis、Memcached、MQ緩存等中間件,到項(xiàng)目后期,發(fā)現(xiàn)單機(jī)不能滿足性能要求了,然后引入了Nginx作為反向代理,總之,隨著系統(tǒng)功能的日趨復(fù)雜,那么應(yīng)用依賴(lài)就會(huì)逐漸復(fù)雜,不同組件的配置方法各不相同,運(yùn)維人員進(jìn)行應(yīng)用配置可能會(huì)耗費(fèi)大量時(shí)間。

應(yīng)用部署上 ,Dockerfile的存在使得開(kāi)發(fā)人員僅僅需要修改其配置文件就可以輕松構(gòu)建具有不同依賴(lài)的鏡像。同時(shí)保障了從開(kāi)發(fā)、構(gòu)建、測(cè)試、生成的一整套流程。

集群角度上 ,隨著流量的逐漸增大,這個(gè)時(shí)候就要引入集群了,服務(wù)器由原來(lái)的一臺(tái)變成兩臺(tái),那么相同的配置在另一臺(tái)主機(jī)進(jìn)行相同的配置時(shí)間開(kāi)銷(xiāo)比較大,因此可以通過(guò)鏡像來(lái)一鍵打包部署即可。

關(guān)于Docker優(yōu)點(diǎn),總結(jié)如下:

  • 快速的應(yīng)用部署和維護(hù)
  • 更便捷的升級(jí)和擴(kuò)縮容
  • 更簡(jiǎn)單的系統(tǒng)運(yùn)維
  • 更高效的計(jì)算資源利用
  • 支持多種操作系統(tǒng),Windows、Mac和Debian等

5.Docker架構(gòu)

關(guān)于官方文檔中解釋?zhuān)篋ocker Architecture

Docker引擎 (Docker Engine)是一個(gè)服務(wù)端-客戶(hù)端結(jié)構(gòu)的應(yīng)用,主要有這些部分:Docker守護(hù)進(jìn)程、Docker Engine API、Docker客戶(hù)端。

  • Docker守護(hù)進(jìn)程 (Docker daemons),也叫 dockerd ,是一個(gè)持久化的進(jìn)程,用戶(hù)管理容器。守護(hù)進(jìn)程會(huì)監(jiān)聽(tīng)Docker Engine API 的請(qǐng)求。
  • Docker Engine API是用于與Docker守護(hù)進(jìn)程交互用的的API。它是一個(gè)RESTful API,因此它不僅可以被Docker客戶(hù)端調(diào)用,也可以被wgetcurl等命令調(diào)用。
  • Docker客戶(hù)端 ,也叫docker,是大部分用戶(hù)與Docker交互的主要方式。用戶(hù)通過(guò)客戶(hù)端將命令發(fā)送給守護(hù)進(jìn)程。命令會(huì)遵循Docker Engine API

6.Docker生態(tài)

Docker生態(tài)中還有一個(gè)非常重要的容器管理工具–Kubernetes,它是Google開(kāi)源的用于在集群環(huán)境中管理、維護(hù)、自動(dòng)擴(kuò)展容器,通過(guò)Kubernetes可以很方便地在多個(gè)機(jī)器上管理和部署容器服務(wù)?,F(xiàn)在已經(jīng)得到IBM、Microsoft、RedHat等多個(gè)大公司的支持。

Docker現(xiàn)在出現(xiàn)了一個(gè)特殊的模式——swarm模式——可以用來(lái)管理容器集群。Docker Swarm允許使用Docker CLI運(yùn)行swarm命令,因而很容易初始化一組容器,并向組中添加或刪除容器。除了Docker Swarm,還有幾個(gè)其他的容器協(xié)調(diào)管理器:

  • Kubernetes,一個(gè)容器集群管理器??梢栽谀阕约旱姆?wù)器上或是在云上運(yùn)行。
  • DC/OS,一個(gè)特別的項(xiàng)目,提供了高級(jí)用戶(hù)界面管理Docker容器。
  • Nomad Project,一個(gè)部署和管理應(yīng)用的軟件,運(yùn)行在Amazon ECS,DigitalOcean,Azure Container Service或Google云平臺(tái)。

二、Docker安裝

1. 命令行安裝

這里測(cè)試環(huán)境是 Centos Linux 8版本,安裝使用 yum命令安裝。

yum -y install docker-ce docker-ce-cli #下載Docker
docker version #查看docker版本號(hào)
docker images #存在的鏡像

圖片

圖片

image-20220614152303600

  • TAG:版本號(hào)(默認(rèn)最新)
  • REPOSITORY: 鏡像名字
  • IMAGET ID : 鏡像全局唯一ID
  • CREATED: 鏡像創(chuàng)建時(shí)間
  • SIZE:鏡像大小

2. 設(shè)置加速倉(cāng)庫(kù)

注冊(cè)阿里云開(kāi)發(fā)者賬戶(hù),進(jìn)入倉(cāng)庫(kù)鏡像模塊,獲取倉(cāng)庫(kù)加速域名。

倉(cāng)庫(kù)(Repository)、注冊(cè)服務(wù)器(Registry)、注冊(cè)索引(Index)有何關(guān)系?

首先,倉(cāng)庫(kù)是存放一組關(guān)聯(lián)鏡像的集合,比如同一個(gè)應(yīng)用的不同版本的鏡像,注冊(cè)服務(wù)器是存放實(shí)際的鏡像的地方,注冊(cè)索引則負(fù)責(zé)維護(hù)用戶(hù)的賬號(hào),權(quán)限,搜索,標(biāo)簽等管理。注冊(cè)服務(wù)器利用注冊(cè)索引來(lái)實(shí)現(xiàn)認(rèn)證等管理。

3. 配置普通用戶(hù)管理Docker

由于需要使用普通用戶(hù)對(duì)Docker進(jìn)行管理,因此需要給普通用戶(hù)配置Docker權(quán)限,根據(jù) 官方文檔來(lái)進(jìn)行配置。具體命令行如下:

sudo groupadd docker #加入Docker用戶(hù)組
 sudo usermod -aG docker $USER #將用戶(hù)添加到用戶(hù)組
  newgrp docker  #刷新權(quán)限
  id $USER #查看用戶(hù)情況
  docker run hello-world #運(yùn)行hello world測(cè)試

圖片

image-20220615190215061

圖片

三、Docker基本使用

  • 獲取鏡像 docker pull REPOSITORY:TAG
  • 運(yùn)行鏡像 docker run IMAGE_ID
  • 刪除鏡像 docker rmi IMAGE_ID
  • 暫停容器 docker stop CONTAINER_ID
docker run -i 鏡像ID #交互模式啟動(dòng)容器


## 常用參數(shù)
 -i, --interactive                    Keep STDIN open even if not attached
      --ip string                      IPv4 address (e.g., 172.30.100.104)
      --ip6 string                     IPv6 address (e.g., 2001:db8::33)
      --ipc string                     IPC mode to use
      --isolation string               Container isolation technology
      --kernel-memory bytes            Kernel memory limit
-p : 宿主機(jī)端口Docker運(yùn)行端口
-P : 隨機(jī)宿主機(jī)端口
-t : 命令終端

圖片

image-20220614154748840

Docker虛懸鏡像:倉(cāng)庫(kù)名、標(biāo)簽都為的鏡像。建議刪除

前臺(tái)啟動(dòng)和后臺(tái)啟動(dòng)

docker run -d #守護(hù)式啟動(dòng)
docker run -i  #前臺(tái)式啟動(dòng)


#重新進(jìn)入命令交互界面
docker exec -it 容器ID bashshell
docker attach 容器ID

區(qū)別:

  • accatch 不會(huì)重新創(chuàng)建一個(gè)新的進(jìn)程,使用exec會(huì)導(dǎo)致終端停止
  • exec 會(huì)重新創(chuàng)建一個(gè)新的進(jìn)程,不會(huì)導(dǎo)致終端停止,此種方法也是工作常用的

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開(kāi)源軟件
    +關(guān)注

    關(guān)注

    0

    文章

    213

    瀏覽量

    16519
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3707

    瀏覽量

    96709
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    526

    瀏覽量

    13988
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    帶你搞懂Docker容器的核心基石Cgroups

    可以限制、記錄任務(wù)組所使用的物理組員(比如 CPU、Memory、IO等),為容器實(shí)現(xiàn)虛擬化提供了基本保證,是構(gòu)建 Docker些列虛擬化管理工具的基石。今天我們就來(lái)詳細(xì)介紹
    發(fā)表于 11-24 09:54 ?855次閱讀

    帶你入門(mén)Docker容器

    docker不是個(gè)值得投入的領(lǐng)域,它解決的問(wèn)題是Unix系統(tǒng)最初設(shè)計(jì)的個(gè)疏忽。從個(gè)不會(huì)用docker的小白,自己
    發(fā)表于 06-05 14:44 ?879次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b>入門(mén)<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>

    如何使用 Docker容器化技術(shù)

    對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),Docker肯定都不陌生,今天小編帶大家重新學(xué)習(xí)Docker。 什么是 Docker 官話: Docker
    的頭像 發(fā)表于 09-30 11:24 ?1.7w次閱讀

    ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)

    本帖最后由 Tronlong創(chuàng)龍科技 于 2024-7-19 16:50 編輯 什么是Docker? (1Docker的架構(gòu)Docker
    發(fā)表于 07-17 11:05

    如何在Docker中創(chuàng)建容器

    Docker個(gè)開(kāi)源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建個(gè)輕量級(jí)的、可移植的、自給自足的容器。開(kāi)發(fā)者在筆記本上編譯測(cè)試通過(guò)的容器可以批量地在
    發(fā)表于 01-03 15:58

    理解Docker容器并暢玩docker

    ,完全不影響其他容器的正常運(yùn)作)。這樣描述,還是不大明白,我們可以實(shí)際操作下。先打開(kāi)兩個(gè)命令行,在其中個(gè)命令行執(zhí)行以下命令:docker run -it --name a
    發(fā)表于 11-05 09:54

    讀懂什么是NEC協(xié)議

    讀懂什么是NEC協(xié)議?
    發(fā)表于 10-15 09:22

    Docker容器管理命令()

    1、Docker容器管理命令的使用方法查看當(dāng)前主機(jī)本地docker鏡像:啟動(dòng)容器必須依賴(lài)鏡像,所以要獲取到鏡像的唯
    發(fā)表于 04-20 17:55

    Docker容器管理命令(二)

    1Docker容器管理命令的使用方法批量刪除docker 容器docker cp命令
    發(fā)表于 04-21 11:31

    帶你讀懂Docker容器 2

    Docker** 是個(gè)開(kāi)源軟件,用于開(kāi)發(fā)應(yīng)用、交付應(yīng)用、運(yùn)行應(yīng)用。 Docker允許用戶(hù)將基礎(chǔ)設(shè)施中的應(yīng)用單獨(dú)分割出來(lái),形成更小的顆粒(容器),從而提高交付軟件的速度。
    的頭像 發(fā)表于 02-03 15:33 ?1064次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>讀懂</b><b class='flag-5'>Docker</b><b class='flag-5'>容器</b> 2

    帶你讀懂Docker容器 3

    Docker** 是個(gè)開(kāi)源軟件,用于開(kāi)發(fā)應(yīng)用、交付應(yīng)用、運(yùn)行應(yīng)用。 Docker允許用戶(hù)將基礎(chǔ)設(shè)施中的應(yīng)用單獨(dú)分割出來(lái),形成更小的顆粒(容器),從而提高交付軟件的速度。
    的頭像 發(fā)表于 02-03 15:34 ?988次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>讀懂</b><b class='flag-5'>Docker</b><b class='flag-5'>容器</b> 3

    讀懂,什么是BLE?

    讀懂,什么是BLE?
    的頭像 發(fā)表于 11-27 17:11 ?4257次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>讀懂</b>,什么是BLE?

    docker容器容器之間通信

    Docker種輕量級(jí)容器化技術(shù),能夠?qū)?yīng)用程序及其依賴(lài)項(xiàng)封裝在個(gè)獨(dú)立、可移植的容器中。而容器
    的頭像 發(fā)表于 11-23 09:36 ?2281次閱讀

    docker進(jìn)入容器的方法有哪些

    Docker種流行的容器化平臺(tái),它能夠快速構(gòu)建、交付和運(yùn)行應(yīng)用程序。在使用Docker時(shí),我們經(jīng)常需要進(jìn)入容器進(jìn)行調(diào)試、管理和運(yùn)行命令等
    的頭像 發(fā)表于 11-23 09:45 ?1.3w次閱讀

    Docker容器安全攻防實(shí)戰(zhàn)案例

    在云原生時(shí)代,Docker已成為現(xiàn)代應(yīng)用部署的基石。然而,容器化帶來(lái)便利的同時(shí),也引入了新的安全挑戰(zhàn)。作為名在生產(chǎn)環(huán)境中管理過(guò)數(shù)千個(gè)容器的運(yùn)維工程師,我將通過(guò)真實(shí)的攻防實(shí)戰(zhàn)案例,
    的頭像 發(fā)表于 08-05 09:52 ?982次閱讀