亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker學習02-docker基礎

發布時間:2020-06-15 20:16:02 來源:網絡 閱讀:308 作者:搬磚小青年 欄目:云計算

I. dcoker基本概念

  • 鏡像(image)

    鏡像,從本質上來講,鏡像相當于一個文件系統。鏡像是只讀的,除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包好了一些為運行時準備的一些配置參數,如匿名卷、環境變量、用戶等。鏡像不包含任何動態數據,其內容在構建之后也不會被改變。一個鏡像可以運行多個container,鏡像可以通過dockerfile創建,也可以從dicker hub/registory上下載。

  • 容器(container)

    容器,容器的實質是進程,但是是運行在屬于自己的獨立的命名空間,因此容器可以擁有自己的root文件系統,自己的網絡配置,自己的進程空間,甚至自己的用戶id空間。說白了就是運行在一個隔離的環境里。

  • 倉庫(repository)

    倉庫,顧名思義,就是一個用來存儲用的空間。鏡像構建完成后,可以很容易的在當前宿主機上運行,但是,如果要在其他服務器上使用這個鏡像,我們就需要一個集中的存儲、分發鏡像的服務,docker registry就是這樣的服務

    鏡像就相當于打包好的版本,鏡像啟動之后運行在容器中,倉庫就是存儲鏡像的地方

  • 分層存儲

    因為鏡像包含操作系統完整的root文件系統,其體積往往是龐大的,因此在docker設計時,就充分利用Union FS的技術,將其設計為 分層存儲 的架構。嚴格來講,鏡像并非是像一個ISO那樣的打包文件,鏡像只是一個虛擬的概念,其實際體現并非由一個文件組成,而是由一組文件系統組成,或者說,是由對曾文件系統聯合組成。

    鏡像構建時,會一層層構建,前一層作為后一層的基礎,每一層構建完就不會再發生改變,后一層上的改變只發生在自己這一層上。

II. Docker的C/S模式

Docker采用了C/S架構,包括客戶端和服務端。Docker守護進程(Daemon)作為服務端接受來自客戶端的請求,并處理這些請求(創建、運行、分發容器)

docker學習02-docker基礎

Docker守護進程一般在宿主機主機后臺運行,等待接受來自客戶端的消息,Docker客戶端則為用戶提供一系列可執行命令,用戶用這些命令實現跟Docker 守護京城交互:
docker學習02-docker基礎
Docker也為我們提供了Remote API來操作Docker的守護進程,也意味著我們可以通過自己的進程來控制Docker的運行。客戶端和服務端既可以運行在一個機器上,也可通過socket或RESTfuk API來進行通信:
docker學習02-docker基礎

至于Docker的客戶端與守護進程之間的通信,其連接方式為socket連接,主要有三種連接方式:

  • unix:///var/run/docker.sock
  • tcp://host:ip
  • fd://socketfd
    完整的Docker的C/S連接方式的本質可以一般表示為如下:
    docker學習02-docker基礎

III.使用Docker

容器操作

#啟動一個容器
  docker run -it nginx /bin/bash
#查看容器
        docker ps  [-a] [-l]
        -a  all 列出所有容器
        -l   latest 列出最近的容器
#查看指定容器
    docker inspect name | id
    name指代具體的容器名稱,id則是容器的唯一標識
#啟停容器
    docker start|stop name | id
#刪除停止的容器
    docker  rm name| id
#進入正在運行的容器
    #docker attach name | id   退出時要使用Ctrl+P Ctrl+Q
    docker exec -it name | id bash   退出時可以使用exit
#啟動后臺運行的容器
    docker -d ...  
#查看容器日志
    docker logs [-f] [-t] [–tail] name|id
    -f –follows=true | false,默認是false,顯示更新
    -t –timestamps=true | false,默認是false,顯示時間戳
    –tail=“all” | 行數,顯示最新行數的日志
#查看容器內進程
    docker top name|id

鏡像操作

#查詢鏡像
    #docker search name [options]
    –automated=false,僅顯示自動化構建的鏡像
    –no-trunc=false,不以截斷的方式輸出
    –filter,添加過濾條件
#拉取鏡像
  docker pull [OPTIONS] NAME [:TAG]
    -a,–all-tags=false,下載所有的鏡像(包含所有TAG)
#推送鏡像
  docker push  [OPTIONS] NAME [:TAG]
#列出鏡像
  docker images [OPTIONS] [REPOSITORY]
    -a,–all=false,顯示所有鏡像
    -f,–filter=[],顯示時過濾條件
    –no-trunc=false,指定不使用截斷的形式顯示數據
    -q,–quiet=false,只顯示鏡像的唯一id
#查看鏡像
  docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE]
    -f,–format=“”

#構建鏡像
構建docker鏡像,可以保存對容器的修改,并且再次使用。構建鏡像提供了自定義鏡像的能力,以軟件的形式打包并分發服務及其運行環境。Docker中提供了兩種方式來構建鏡像:
 -  通過容器構建:docker commit
 -  通過Dockerfile: docker build 
 1. 使用commit命令構建鏡像
    命令:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    參數:-a,–author=“”,指定鏡像的作者信息
    -m,–message=“”,提交信息
    -p,–pause=true,commit時是否暫停容器
    ccs-iMac:~ cc$ docker commit -a 'hxl' -m 'test commit an image'  reverent_allen web 
    sha256:464ca63bbb182e5d7fd2809da1dcb6942484ece7b89e242ecaabdb9c8d5552
2.使用Dockerfile文件構建鏡像
Docker允許我們利用一個類似配置文件的形式來進行構建自定義鏡像,在文件中可以指定原始的鏡像,自定義鏡像的維護人信息,對原始鏡像采取的操作以及暴露的端口等信息。比如:
Sample Dockerfile
FROM ubuntu:16.04
MAINTAINER wgp "Kingdompin@163.com"
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80
命令:docker build [OPTIONS] DockerFile_PATH | URL | -
    參數:–force-rm=false
    –no-cache=false
    –pull=false
    -q,quite=false,構建時不輸出信息
    –rm=true
    -t,tag=“”,指定輸出的鏡像名稱信息
#鏡像遷移
    我們制作好鏡像,一般要分享給別人。Docker提供了幾種遷移的方式,但是常用的一般有兩種:
    1.使用registory 來分享,可選Docker HUb 和私有倉庫
    2.docker load 和docker save 來打包分享

倉庫操作

倉庫一般就是Dokcer Hub 和私有自建registry 至于如何自建私有倉庫,本篇就不敘述了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥宁县| 衡东县| 丹寨县| 理塘县| 运城市| 开平市| 贵阳市| 晋中市| 莱西市| 龙胜| 土默特左旗| 新巴尔虎右旗| 黄大仙区| 义乌市| 康平县| 福建省| 泰兴市| 司法| 延川县| 马公市| 调兵山市| 延寿县| 新泰市| 兰坪| 延长县| 曲沃县| 亳州市| 明光市| 任丘市| 丰镇市| 玛沁县| 凌云县| 阿拉善右旗| 齐齐哈尔市| 旺苍县| 五华县| 鄂托克旗| 邢台县| 长沙县| 弥渡县| 连云港市|