亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker的核心及安裝的具體使用

 更新時(shí)間:2019年11月28日 10:24:17   作者:mb5d03569e7eb16  
這篇文章主要介紹了Docker的核心及安裝的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一.Docker是什么?

(1)Docker是在Linux容器里運(yùn)行應(yīng)用的開(kāi)源工具,是一種輕量級(jí)的“虛擬機(jī)”

Logo設(shè)計(jì)為藍(lán)色鯨魚(yú),鯨魚(yú)可以看作為宿主機(jī),上面的集裝箱可以理解為相互隔離的容器,每個(gè)集裝箱中包含自己的應(yīng)用程序。

(2)Docker和虛擬機(jī)的區(qū)別

作為一種輕量級(jí)的虛擬化方式,Docker 與傳統(tǒng)虛擬機(jī)相比具有顯著的優(yōu)勢(shì)。

Docker之所以擁有眾多優(yōu)勢(shì),與操作系統(tǒng)虛擬化自身的特點(diǎn)是分不開(kāi)的。傳統(tǒng)虛擬機(jī)需要有額外的虛擬機(jī)管理程序和虛擬機(jī)操作系統(tǒng)層,而Docker容器是直接在操作系統(tǒng)層面之上實(shí)現(xiàn)的虛擬化,
如圖:

(3)Docker的使用場(chǎng)景

現(xiàn)在開(kāi)發(fā)者需要能方便地創(chuàng)建運(yùn)行在云平臺(tái)上的應(yīng)用,必須要脫離底層的硬件,同時(shí)還需要任何時(shí)間地點(diǎn)可獲取這些資源,這正是Docker所能提供的。Docker 的容器技術(shù)可以在一臺(tái)主機(jī) 上輕松為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器。通過(guò)這種容器打包應(yīng)用程序,意味著簡(jiǎn)化了重新部署、調(diào)試這些瑣碎的重復(fù)工作,極大地提高了工作效率。

二.Docker的核心概念及安裝

(1)鏡像

Docker的鏡像(mage) 是創(chuàng)建容器的基礎(chǔ),類似虛擬機(jī)的快照
可以理解為是一一個(gè)面向Docker容器引擎的只讀模板。比如,一個(gè)鏡像可以是一個(gè)完整的 CentOS 操作系統(tǒng)環(huán)境,稱為-個(gè)CentOS
鏡像;可以是一個(gè)安裝了MySQL的應(yīng)用程序,稱為一個(gè)MySQL鏡像,等等。

(2)容器

Dooker的容器(Container) 是從鏡像創(chuàng)建的運(yùn)行實(shí)例。它可以被啟動(dòng)、停止和刪除。所創(chuàng)建的每一個(gè)容器都是相互隔離、互不可見(jiàn),可以保證安全性的平臺(tái)??梢园讶萜骺醋饕粋€(gè)簡(jiǎn)易版的Linux環(huán)
境,Docker 利用容器來(lái)運(yùn)行和隔離應(yīng)用。

(3)倉(cāng)庫(kù)

Docker倉(cāng)庫(kù)(Repository) 是用來(lái)集中保存鏡像的地方,當(dāng)創(chuàng)建了自己的鏡像之后,可以使用push命令將它上傳到公有倉(cāng)庫(kù)(Public) 或者私有倉(cāng)庫(kù)(Private), 這樣一來(lái)當(dāng) 下次要在另外一臺(tái)機(jī)器上使用這個(gè)鏡像時(shí),只需要從倉(cāng)庫(kù)上拉取下來(lái)就可以了。

(4)安裝Docker

主機(jī)有網(wǎng)的話可以直接安裝,

配置yum

[root@localhost ~]# rm -rf /etc/yum.repos.d/*

[root@localhost ~]# vim /etc/yum.repos.d/a.repo
[aaa]
name=asd
baseurl=file:///media
gpgcheck=0
[root@localhost ~]# mount /dev/cdrom /media/

[root@localhost ~]# yum -y install docker

安裝完成可以啟動(dòng)Docker,并設(shè)置開(kāi)機(jī)自啟

[root@localhost ~]# systemctl start docker

[root@localhost ~]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@localhost ~]# docker version //查看Docker版本
Client:
 Version:     1.13.1
 API version:   1.26
 Package version: docker-1.13.1-75.git8633870.el7.centos.x86_64
 Go version:   go1.9.4
 Git commit:   8633870/1.13.1
 Built:      Fri Sep 28 19:45:08 2018
 OS/Arch:     linux/amd64

Server:
 Version:     1.13.1
 API version:   1.26 (minimum version 1.12)
 Package version: docker-1.13.1-75.git8633870.el7.centos.x86_64
 Go version:   go1.9.4
 Git commit:   8633870/1.13.1
 Built:      Fri Sep 28 19:45:08 2018
 OS/Arch:     linux/amd64
 Experimental:  false

分為服務(wù)端與客戶端

三.Docker鏡像操作

(1)搜索鏡像(前提電腦有網(wǎng))

[root@localhost ~]# docker search dhcp

INDEX    NAME                      DESCRIPTION                   STARS   OFFICIAL  AUTOMATED
docker.io  docker.io/networkboot/dhcpd          Suitable for running a DHCP server for you...  43          [OK]
docker.io  docker.io/joebiellik/dhcpd           DHCP server running on Alpine Linux       15          [OK]
docker.io  docker.io/gns3/dhcp              A DHCP container for GNS3 using dnsmasq     3          [OK]
docker.io  docker.io/instantlinux/dhcpd-dns-pxe      Serve DNS, DHCP and TFTP from a small Alpi...  2          [OK]
docker.io  docker.io/ictu/dhcpd-tftpd           dhcpd tftpd container              1          [OK]
docker.io  docker.io/marcelwiget/dhcptester        Simple dhcp client simula

(2)獲取鏡像

[root@localhost ~]# docker pull docker.io/network/dhcpd //下載上面最開(kāi)頭的dhcp

還有一種就是插入已經(jīng)下載好的dhcp

做成光盤(pán)插入到主機(jī)中

[root@localhost ~]# mount /dev/cdrom /media/
[root@localhost ~]# cd /media/
[root@localhost media]# ls
dhcp
[root@localhost media]# cp dhcp /
[root@localhost media]# 
[root@localhost /]# docker load < dhcp
fccbfa2912f0: Loading layer 116.9 MB/116.9 MB
e1a9a6284d0d: Loading layer 15.87 kB/15.87 kB
ac7299292f8b: Loading layer 14.85 kB/14.85 kB
a5e66470b281: Loading layer 5.632 kB/5.632 kB
a8de0e025d94: Loading layer 3.072 kB/3.072 kB
e2e29955c5aa: Loading layer 12.7 MB/12.7 MB
12e14fab4dd4: Loading layer 49.15 kB/49.15 kB
47bdfd3bbf39: Loading layer 4.096 kB/4.096 kB
Loaded image: docker.io/networkboot/dhcpd:latest

將鏡像下載到本地

(3)查看鏡像信息

[root@localhost /]# docker images
REPOSITORY          TAG         IMAGE ID //鏡像ID      CREATED       SIZE
docker.io/networkboot/dhcpd  latest       6f98b6b9b486    19 months ago    125 MB
  • REPOSITORY: 鏡像屬于的倉(cāng)庫(kù)。
  • TAG: 鏡像的標(biāo)簽信息,標(biāo)記同一個(gè)倉(cāng)庫(kù)中的不同鏡像。
  • IMAGE ID: 鏡像的唯一ID號(hào),唯一標(biāo)識(shí)了該鏡像。
  • CREATED: 鏡像創(chuàng)建時(shí)間。
  • CREATED: 鏡像創(chuàng)建時(shí)間。
[root@localhost /]# docker inspect 6f98b6b9b486 \查看鏡像ID詳細(xì)信息

鏡像的詳細(xì)信息中包括創(chuàng)建時(shí)間、系統(tǒng)版本.主機(jī)名.域名.用戶.卷.標(biāo)簽.操作系統(tǒng).設(shè)備ID等各種信息。

[root@localhost /]# docker tag docker.io/networkboot/dhcpd dhcp:dhcp 
第一個(gè)dhcp:名稱
第二個(gè)dhcp:標(biāo)簽

(4)刪除鏡像

[root@localhost /]# docker rmi dhcp:dhcp
Untagged: dhcp:dhcp

四.Docker容器操作

容器是Docker的另一一個(gè)核心概念,簡(jiǎn)單來(lái)說(shuō),容器是鏡像的一個(gè)運(yùn)行實(shí)例,是獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用及它們所必需的運(yùn)行環(huán)境,包括文件系統(tǒng)、系統(tǒng)類庫(kù). shell 環(huán)境等。鏡像是只讀模板,而容器會(huì)給這個(gè)只讀模板一個(gè)額外的可寫(xiě)層

(1)容器的創(chuàng)建與啟動(dòng)

[root@localhost /]# docker create -it docker.io/networkboot/dhcpd /bin/bash

e392026ddd186d01cbd3306acae15f2f197dc9874a84ea241d347c7fe20a0946

常用選項(xiàng): -i表示讓容器的輸入保持打開(kāi): -t表示讓Docker分配一個(gè)偽終端。

[root@localhost /]# docker ps -a \\查看所有容器運(yùn)行狀態(tài)
CONTAINER ID    IMAGE             COMMAND         CREATED       STATUS       PORTS        NAMES
e392026ddd18    docker.io/networkboot/dhcpd  "/entrypoint.sh /b..."  About a minute ago  Created                 elegant_goldwasser

輸出信息顯示容器的ID號(hào).加載的鏡像.運(yùn)行的程序.創(chuàng)建時(shí)間、目前所處的狀態(tài)、端口映射.容器名稱等。其中狀態(tài)-欄為Created表示當(dāng)前的容器是新創(chuàng)建的并處于停止?fàn)顟B(tài)。

[root@localhost /]# docker start e392026ddd18  \\啟動(dòng)容器 ,上面的ID
e392026ddd18

容器啟動(dòng)后,可以看到容器狀態(tài)一欄已經(jīng)變?yōu)閁P,表示容器已經(jīng)處于啟動(dòng)狀態(tài)。

(2)容器的運(yùn)行與終止

[root@localhost /]# docker stop 容器的ID號(hào)

(3)容器的進(jìn)入

[root@localhost /]# docker exec -it e392026ddd18 /bin/bash
root@e392026ddd18:/# 

用戶可以通過(guò)所創(chuàng)建的終端來(lái)輸入命令,通過(guò)exit命令退出容器.

root@e392026ddd18:/# ls
bin  core entrypoint.sh home lib64 mnt proc run  srv tmp var
boot dev  etc      lib  media opt root sbin sys usr
root@e392026ddd18:/# exit
exit

(4)容器的導(dǎo)出導(dǎo)入

容器是最小化,導(dǎo)致一些命令不能使用,所以就要從容器里面導(dǎo)出到本地來(lái)設(shè)置,設(shè)置完再導(dǎo)入進(jìn)容器就可以。

導(dǎo)出命令如下:

[root@localhost /]# docker export e392026ddd18>/etc/dhcp/dhcpd.conf

亂數(shù)字為容器的ID號(hào)

把dhcp主配置文件導(dǎo)出來(lái)配置,

導(dǎo)入命令如下:

[root@localhost /]# docker import /etc/dhcp/dhcpd.conf > e392026ddd18

(5)容器的刪除

可以使用dockerrm命令將一個(gè)已經(jīng)終止?fàn)顟B(tài)的容器進(jìn)行刪除。

一個(gè)鏡像可以包含多個(gè)容器

[root@localhost /]# docker stop e392026ddd18  \\先停止
e392026ddd18
[root@localhost /]# docker rm e392026ddd18  \\再刪除
e392026ddd18
[root@localhost /]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS       PORTS        NAMES

五.Docker資源控制

Cgroup是Controlgroup的簡(jiǎn)寫(xiě),是Linux內(nèi)核提供的一種限制所使用物理資源的機(jī)制,這些資源主要包括CPU.內(nèi)存、blkio。 下面就這3個(gè)方面來(lái)談一下Docker是如何使用Cgroup機(jī)制進(jìn)行管理的。

(1)限制CPU使用速率

例如,將容器60ff4594cc73的CPU使用設(shè)置為20000,設(shè)置CPU的使用率限定為20%:

[root@localhost ~]# echo 20000 &gt;/sys/fs/ cgroup/ cpu/ system. slice/docker-60ff4594cc73b5474477 636b25b41f 16e1 66a3606aed22 6522d420d0c296990d. scope/cpu . cfs_ quota _us

(2)多任務(wù)按比例分享CPU

例如,運(yùn)行3個(gè)新建容器A. B、C,占用CPU資源的比例為1:1:2就可以這樣執(zhí)行:

[root@localhost /]# docker run -tid --cpu-shares 1024  +鏡像A
[root@localhost /]# docker run -tid --cpu-shares 1024  +鏡像B
[root@localhost /]# docker run -tid --cpu-shares 2048  +鏡像C

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker 打包python的命令詳解

    Docker 打包python的命令詳解

    最近用Python寫(xiě)了一段爬蟲(chóng)程序,為了隔離其運(yùn)行環(huán)境,易于分發(fā),把項(xiàng)目打包成Docker鏡像,下面給大家簡(jiǎn)單介紹下具體命令寫(xiě)法
    2016-12-12
  • docker環(huán)境下安裝jenkins容器的詳細(xì)教程

    docker環(huán)境下安裝jenkins容器的詳細(xì)教程

    這篇文章主要介紹了docker環(huán)境下安裝jenkins容器的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 靜態(tài)pod 創(chuàng)建使用示例詳解

    靜態(tài)pod 創(chuàng)建使用示例詳解

    這篇文章主要為大家介紹了靜態(tài)pod 創(chuàng)建使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Docker鏡像+nginx 部署 vue 項(xiàng)目的方法

    Docker鏡像+nginx 部署 vue 項(xiàng)目的方法

    這篇文章主要介紹了Docker鏡像+nginx 部署 vue 項(xiàng)目的方法,幫助大家更好的使用docke鏡像,感興趣的朋友可以了解下
    2020-10-10
  • 解決docker 容器設(shè)置中文語(yǔ)言包出現(xiàn)的問(wèn)題

    解決docker 容器設(shè)置中文語(yǔ)言包出現(xiàn)的問(wèn)題

    這篇文章主要介紹了解決docker 容器設(shè)置中文語(yǔ)言包出現(xiàn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 詳解基于Docker的服務(wù)部署流程

    詳解基于Docker的服務(wù)部署流程

    這篇文章主要介紹了詳解基于Docker的服務(wù)部署流程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 使用 Docker 搭建 Laravel 本地環(huán)境的教程詳解

    使用 Docker 搭建 Laravel 本地環(huán)境的教程詳解

    laradock 是一個(gè)包含全功能用于 docker 的 PHP 運(yùn)行環(huán)境,使用 docker-compose 方式部署,本文重點(diǎn)給大家介紹使用 Docker 搭建 Laravel 本地環(huán)境的方法,感興趣的朋友一起看看吧
    2017-10-10
  • Docker容器編譯LNMP的實(shí)現(xiàn)示例

    Docker容器編譯LNMP的實(shí)現(xiàn)示例

    本文主要介紹了Docker容器編譯LNMP,使用Docker容器基于centos鏡像分別制作nginx鏡像,mysql鏡像和php鏡像使用編譯安裝的方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-12-12
  • docker使用阿里云鏡像倉(cāng)庫(kù)的方法

    docker使用阿里云鏡像倉(cāng)庫(kù)的方法

    本篇文章主要介紹了docker使用阿里云鏡像倉(cāng)庫(kù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • 從零開(kāi)始:Docker中修改Nginx服務(wù)器配置

    從零開(kāi)始:Docker中修改Nginx服務(wù)器配置

    在Docker中修改Nginx配置是一種常見(jiàn)的操作,它允許我們根據(jù)特定需求來(lái)自定義Nginx服務(wù)器的行為,通過(guò)修改Nginx配置,我們可以添加新的虛擬主機(jī)、更改端口號(hào)、啟用SSL等,需要的朋友可以參考下
    2023-10-10

最新評(píng)論