日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
不知不覺已是容器化時代,這篇文章帶你快速入門Docker容器技術

前言

成都創(chuàng)新互聯(lián)公司,專注為中小企業(yè)提供官網(wǎng)建設、營銷型網(wǎng)站制作、響應式網(wǎng)站開發(fā)、展示型成都網(wǎng)站建設、成都做網(wǎng)站等服務,幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設與網(wǎng)站營銷推廣問題。

Docker真的有這么神奇嗎,我們平時部署一套系統(tǒng)應用少說得花個個把小時,在部署過程中如果遇到啥問題花費一天估計都很難搞定,那利用Dorcker技術真的可以大大縮短我們的部署時間嗎,今天我們就來學習一下這門技術吧!

Docker是什么

當我們需要部署一個應用服務時,我還是以部署Zabbix監(jiān)控系統(tǒng)為例,我們傳統(tǒng)的部署方式是一臺物理服務器上首先安裝操作系統(tǒng)比如Linux系統(tǒng),然后在部署Zabbix監(jiān)控系統(tǒng)所需要的依賴環(huán)境如LAMP(Linux+Apache+Mysql+PHP)和Zabbix一些應用服務(Zabbix Server、Zabbix Database、Zabbix Web等)。傳統(tǒng)應用服務部署方式如下圖所示。

這樣一種部署方式會存在一些問題,最明顯的資源會產(chǎn)生浪費,現(xiàn)在的物理服務器動不動就是十幾核的CPU,上百G的內存,幾個T的硬盤。如果只部署一個應用服務的話完全不需要這么高的配置。往往會存在CPU和內存使用率都不到10%的情況。所以后來我們知道有了虛擬化技術,通過VMware這些虛擬化軟件利用Hypervisor虛擬化技術把一臺物理服務器劃分成多臺虛擬機,根據(jù)應用服務需求合理分配CPU、內存資源。然后安裝不同的操作系統(tǒng)部署不同的應用服務,這樣的部署方式資源相對來說得到了有效的利用。

虛擬機其實還是沒有充分的利用資源的,即使你在初始只劃分1核CPU,2G內存給一臺虛擬機,這物理資源實實在在地就被占用了,但是你運行的應用服務有時候也只需要占用一點點資源就行了。所以我們的目標是能不能把物理資源直接分配給應用服務,應用服務用多少就分配給多少。比如我們部署Zabbix監(jiān)控系統(tǒng)會包含了許多的依賴和服務,所有這些依賴服務的集合(LAMP環(huán)境+ Zabbix Server、Zabbix Database、Zabbix Web等)就可以理解為一個APP,在Docker中被叫做Container——容器。每個容器相當于運行一個應用服務,相互之間是隔離的互不影響。另外我們傳統(tǒng)的應用部署方式是不利于遷移和擴展地,比如說我這個應用服務是在Linux平臺之中的,現(xiàn)在想要把它遷移到Windows平臺當中,這肯定是不能夠遷移的,我們還得基于Windows平臺再去搭建一套環(huán)境。而如果是Docker Container的話就可以順利運行于不同的操作系統(tǒng)平臺,只需要在新的環(huán)境下啟動所需要的容器就行了。這就大大節(jié)省了我們部署所花費的時間,并且降低部署過程中出現(xiàn)問題的風險。這就是Docker最基本的作用了,更多資料可以查看Docker官方網(wǎng)站www.docker.com。

Docker三大核心概念

我們要學習Docker容器技術,必須要了解它的三個最重要的概念Image(鏡像)、Container(容器)和Repository(倉庫),大部分的操作都是圍繞這三個核心概念進行的。

  • Image:鏡像是創(chuàng)建容器的基礎,可以理解為是一個只讀模板。例如我們Zabbix監(jiān)控系統(tǒng)需要多臺服務器上進行部署,那么你就可以把Zabbix監(jiān)控系統(tǒng)應用程序及其依賴打包到一個Image文件,創(chuàng)建出一個Zabbix監(jiān)控系統(tǒng)鏡像作為一個模板,想要部署的服務器相當于去拷貝這個鏡像文件就可以了。
  • Container:容器是從鏡像創(chuàng)建的一個運行實例,它可以被啟動、停止、刪除等,所創(chuàng)建的每一個容器都是相互隔離的。容器運行著我們所需要的應用服務,例如Docker部署Zabbix監(jiān)控系統(tǒng)相當于先從一個標準的Zabbix監(jiān)控系統(tǒng)鏡像拷貝到本地服務器上,然后根據(jù)這個Image文件生成容器實例運行,并且你可以對其進行相關配置修改。
  • Repository:倉庫是用來集中保存鏡像的地方,當你創(chuàng)建完自己的鏡像以后,你可以使用push推送命令將它上傳到倉庫,這樣一來當下次要在另一臺服務器上使用這個鏡像的時候,你只需要使用pull命令從倉庫上下載下來就可以了。Repository分為公有和私有,最常用的Repository是官方的Docker Hub ,這也是默認的Repository,并且擁有大量的官方鏡像可以使用。網(wǎng)址為:hub.docker.com/ 。 

Docker安裝

Docker分為兩個版本:社區(qū)版(Community Edition,縮寫 CE)和企業(yè)版(Enterprise Edition,縮寫 EE)。社區(qū)版本包括了大部分的核心功能滿足大部分的需求。企業(yè)版包含了一些收費服務,個人用戶一般用不到。所以我以CentOS7系統(tǒng)安裝Docker CE為例??蓞⒖脊倬W(wǎng)文檔進行安裝https://docs.docker.com/install/linux/docker-ce/centos/

1.安裝docker依賴于系統(tǒng)的一些必要工具。

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

2.添加docker ce版本yum源,這里是官方的,當然你也可以換為國內的yum源,比如阿里云等。

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

3.安裝docker ce。

 
 
 
 
  1. # yum install -y docker-ce 

4.安裝完成后啟動docker。

 
 
 
 
  1. # systemctl start docker 

這樣Docker就安裝完成了。

Docker基本使用

我們之前說Docker的三大核心概念,其中鏡像是最重要的,它是運行容器的前提。那么我們可以使用pull命令先從默認鏡像倉庫Docker Hub網(wǎng)站拉取你需要的鏡像,比如tomcat應用服務鏡像。

 
 
 
 
  1. # docker pull tomcat 
  2. Using default tag: latest 
  3. latest: Pulling from library/tomcat 
  4. 844c33c7e6ea: Downloading 19.32MB/45.38MB 
  5. … 
  6. 81f4cc5808bc: Pull complete 
  7. Digest: sha256:996d406c509a4ebe2f4e96eeda331a354f1663b7ec0ff06685b75c4decef7325 
  8. Status: Downloaded newer image for tomcat:latest 
  9. docker.io/library/tomcat:latest 

下載鏡像到本地后使用images命令查看鏡像

 
 
 
 
  1. # docker images 
  2. REPOSITORY TAG IMAGE ID CREATED SIZE 
  3. tomcat latest 6408fdc94212 8 days ago 507MB 

如果想要刪除鏡像。

 
 
 
 
  1. # docker rmi tomcat 

容器是鏡像的一個運行實例,當我們獲取tomcat鏡像到本地后,那么我們就可以根據(jù)這個tomcat鏡像來創(chuàng)建容器了。使用run命令創(chuàng)建一個名為mytomcat的容器,如果需運行在后臺使用-d參數(shù),這樣docker容器在后臺以守護進程形式運行。

 
 
 
 
  1. # docker ps 
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
  3. 0acdd7e8a944 tomcat "catalina.sh run" 35 seconds ago Up 34 seconds 8080/tcp mytomcat 

查看當前的mytomcat容器已經(jīng)運行。

 
 
 
 
  1. # docker ps 
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
  3. 0acdd7e8a944 tomcat "catalina.sh run" 35 seconds ago Up 34 seconds 8080/tcp mytomcat 

但是tomcat是在docker容器下運行的,如果外部需要訪問就要做一個端口映射,比如把mytomcat容器的 8080 端口映射到本機的 8000 端口上。

 
 
 
 
  1. # docker run -d --name mytomcat -p 8000:8080 tomcat 

如果想要停止運行mytomcat容器。

 
 
 
 
  1. # docker stop mytomcat 

如果想刪除mytomcat容器。

# docker rm mytomcat

容器一般會在后臺運行,我們無法看到容器的信息,如果需要進入容器使用exec命令進行交互式操作。通過-it參數(shù)打開標準輸入并且分配一個偽終端。

 
 
 
 
  1. # docker run -d --name mytomcat -p 8000:8080 tomcat 
  2. 01382c5529da079070da8933a0056e0d469f89eda79a80a26b9872cb1699d291 
  3. # docker exec -it mytomcat /bin/bash  
  4. root@01382c5529da:/usr/local/tomcat# 

可以看到打開了一個新的bash終端,仿佛我們進入到了另外一個Linux系統(tǒng)了,且當前的路徑為/usr/local/tomcat,其實我們就可以理解為每個容器底層它就是一個Linux系統(tǒng),只是這個系統(tǒng)占用的資源是非常小的。

Docker架構

通過以上Docker的介紹相信大家這張Docker架構圖就很容易看懂了吧,Docker 采用的是客戶端-服務器 (C/S) 架構模式。用戶在Docker Client端通過docker相關命令,如docker build創(chuàng)建鏡像,docker run從鏡像運行容器,docker pull 從鏡像倉庫下載鏡像到本地倉庫等發(fā)送請求到Docker Daemon后臺的系統(tǒng)服務進程,Docker Daemon即Server端收到請求后執(zhí)行不同的任務,比如需要鏡像從鏡像倉庫下載鏡像,生成運行容器等。

總結

本篇文章就簡單介紹了一下Docker容器技術的一些基本概念及基本操作,希望能夠使大家對Docker有了一定的了解,后面大家如果對Docker容器技術有興趣可以搭建類似的環(huán)境安裝使用一下Docker,并做更深入地學習!


網(wǎng)頁名稱:不知不覺已是容器化時代,這篇文章帶你快速入門Docker容器技術
文章位置:http://m.5511xx.com/article/copgcoe.html