小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

docker 基礎

 印度阿三17 2019-05-18

Docker基本概念

什么是容器技術

  1. 一種虛擬化的方案

  2. 操作系統(tǒng)虛擬化

  3. 依賴于linux內核特性:Namespace和Cgroup

  •  linux容器技術 VS 虛擬機

虛擬機需要完整的操作系統(tǒng)。需要模擬硬件行為,對內存和cpu損耗相當大 同樣配置的服務器,容器能提供更多服務能力,服務更多用戶。磁盤占用空間更少,啟動更快。容器不容易安裝和管理,而docker可以改善這些,使容器安裝簡單,管理方便。


什么是docker

  1. 將應用程序自動部署到容器

  2. 使用GO語言編寫的開源引擎

Docker特點

  1. 提供簡單輕量的建模方式:快,資源利用率高

  2. 職責的邏輯分離

  3. 快速高效的開發(fā)生命周期:在容器中開發(fā),以容器形式交付,縮短產(chǎn)品上線周期

  4. 鼓勵使用面向服務的架構:單個容器只運行一個應用或者進程,一系列內部互聯(lián)的容器,使擴展、調試程序變得簡單。分布式應用程序模型:高內聚,低耦合,單一任務,在運行過程中容易定位問題

使用Docker做什么

  1. 使用docker容器開發(fā)、測試、部署服務

  2. 創(chuàng)建隔離的運行環(huán)境

  3. 搭建測試環(huán)境

  4. 構建Paas設施

  5. 提供SaaS應用程序

  6. 高性能,超大規(guī)模的宿主機部署

Docker基本組成

客戶端、守護進程

  1. C/S架構

  2. 本地/遠程

鏡像

  1. 容器的基石,是一個層疊的只讀文件系統(tǒng)

  2. Bootfs:引導文件系統(tǒng),容器啟動后,它會移動到內存中,引導文件系統(tǒng)會被卸載

  3. Rootls:比如ubuntu,centos,一種或者多種操作系統(tǒng),只讀,聯(lián)合加載方式,基礎鏡像

  4. Add emac:聯(lián)合加載方式,在基礎鏡像上一次加載多個文件系統(tǒng),對外只能看到一個麻醉中的文件系統(tǒng)會包含低層所有文件和目錄,它下面的鏡像為副鏡像,以此類推到最底部,最底部是基礎鏡像

容器

  1. 通過鏡像啟動

  2. 啟動和執(zhí)行階段

  3. 寫時復制

  4. 在鏡像的最頂層加載一個可寫層,初始可寫層是空的,當文件系統(tǒng)發(fā)生變化的時候,這些變化都會應用到這可寫層上,比如:如果修改配置文件,會先從只讀層復制到可寫層,該文件的只讀版本依然存在,但是被可寫層的文件副本隱藏。

倉庫

  1. 公有倉庫

  2. 私有倉庫

Docker容器相關技術

Namespaces命名空間

  1. 封裝:代碼隔離

  2. 操作系統(tǒng):提供系統(tǒng)資源的隔離:進程,文件系統(tǒng),網(wǎng)絡等等,為了實現(xiàn)輕量級虛擬化服務,也就是我們說的容器

  3. 五中命名空間

  • PID :進程隔離

  • NET:管理網(wǎng)絡接口

  • IPC:管理跨進程通信訪問

  • MNT:管理掛載點

  • UTS:隔離內核和版本標識

Control group 控制組

cgroups是Linux內核提供的一種機制,這種機制可以根據(jù)特定的行為,把一系列系統(tǒng)任務及其子任務整合(或分隔)到按資源劃分等級的不同組內,從而為系統(tǒng)資源管理提供一個統(tǒng)一的框架。通俗的來說,cgroups可以限制、記錄、隔離進程組所使用的物理資源(包括:CPU、memory、IO等),為容器實現(xiàn)虛擬化提供了基本保證,是構建Docker等一系列虛擬化管理工具的基石。

cgroups的作用

  • 資源限制(Resource Limitation):cgroups可以對進程組使用的資源總額進行限制。如設定應用運行時使用內存的上限,一旦超過這個配額就發(fā)出OOM

  • 優(yōu)先級分配(Prioritization):通過分配的CPU時間片數(shù)量及硬盤IO帶寬大小,實際上就相當于控制了進程運行的優(yōu)先級。

  • 資源計量:cgroups可以統(tǒng)計系統(tǒng)的資源使用量,如CPU使用時長、內存用量等等,這個功能非常適用于計費

  • 資源控制:cgroups可以對進程組執(zhí)行掛起、恢復等操作。

Namespaces命名空間和Control group 控制組帶來的特性

  1. 文件系統(tǒng)隔離:每個容器都有自己的root文件系統(tǒng)

  2. 進程隔離:每個容器都運行在自己的進程環(huán)境中

  3. 網(wǎng)絡隔離:容器間的虛擬網(wǎng)絡接口和IP地址都是分開的

  4. 資源隔離和分組:使用Cgroup將CPU和內存之類的資源獨立分配給每個Docker容器

Docker安裝

  1. 環(huán)境說明:本地安裝VMware centos7

  2. docker安裝參考: https://docs./install/linux/docker-ce/centos/#install-docker-ce

  3. 安裝命令如下:

#yum update

#yum install -y yum-utils device-mapper-persistent-data lvm2

#yum-config-manager --add-repo https://download./linux/centos/docker-ce.repo

#yum-config-manager --enable docker-ce-edge

#yum install docker-ce

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

#yum install docker-ce-18.04.0.ce

#systemctl start docker

  1. 查看docker的日志

#journalctl -u docker.service

  1. 關閉防火墻和網(wǎng)絡服務

#systemctl stop firewalld.service #systemctl disable firewalld.service #systemctl stop NetworkManger

Docker基本命

Docker run 命令

  •  docker run:創(chuàng)建一個新的容器并運行一個命令

#docker run –help

  • 參數(shù)說明:

  • -a stdin : 指定標準輸入輸出內容類型,可選STDIN, STDOUT or STDERR

  • -d:后臺運行容器,并返回容器ID

  • -i:以交互模式運行容器,通常與-t同時使用

  • -t:為容器重新分配一個偽輸入終端,通常與-i同時使用

  • --name=”容器名稱”:為容器指定一個名稱

  • --dns 8.8.8.8:指定容器使用的DNS服務器,默認和宿主機一致

  • --dns-search 域名 :指定容器DNS搜索域名,默認和宿主機一致

  • -h “mars”:指定容器的hostname

  • -e username=”ritchie”:設置環(huán)境變量

  • --env-file=[]:從指定文件讀入環(huán)境變量

  • -m:設置容器使用內存最大值

Docker start/stop/restart 命令

  •  啟動一個或者多個已經(jīng)被停止的容器。停止一個運行中的容器。重啟容器。

#docker start [OPTIONS] CONTAINER [CONTAINER…]

Docker kill 命令

  •  殺掉一個運行中的容器

#docker kill [OPTIONS] CONTAINER [CONTAINER…]

Docker rm 命令

  •  docker rm :刪除一個或多少容器

docker rm [OPTIONS] CONTAINER [CONTAINER...] OPTIONS說明:

  • -f :通過SIGKILL信號強制刪除一個運行中的容器

  • -l :移除容器間的網(wǎng)絡連接,而非容器本身

  • -v :-v 刪除與容器關聯(lián)的卷

Docker create 命令

  •  創(chuàng)建一個新的容器但是不啟動它,用法同docker run

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

Docker cp 命令

  •  用于容器與主機之間的數(shù)據(jù)拷貝。

Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Options:

  • -a, --archive Archive mode (copy all uid/gid information)

  • -L, --follow-link 保持源目標中的鏈接

本地鏡像管理

  • docker images :列出本地鏡像。

  • docker rmi :刪除本地一個或多少鏡像。

  • docker tag :標記本地鏡像,將其歸入某一倉庫。

  • docker build :使用Dockerfile創(chuàng)建鏡像。

  • docker save :將指定鏡像保存成 tar 歸檔文件。

  • docker import :從歸檔文件中創(chuàng)建鏡像。

  • docker info : 顯示 Docker 系統(tǒng)信息,包括鏡像和容器數(shù)。

  • docker version :顯示 Docker 版本信息。

Docker sawrm

常用命令

動態(tài)增加副本 #docker service scale erp_callcenter_callcentererp_v1=2

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多