国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - CentOS系統下docker的安裝配置及使用介紹

CentOS系統下docker的安裝配置及使用介紹

2020-09-24 22:27服務器之家 服務器知識

這篇文章主要介紹了CentOS系統下docker的安裝配置及使用詳細介紹,需要的朋友可以參考下

1 docker簡介

Docker 提供了一個可以運行你的應用程序的封套(envelope),或者說容器。它原本是dotCloud 啟動的一個業余項目,并在前些時候開源了。它吸引了大量的關注和討論,導致 dotCloud 把它重命名到 DockerInc。它最初是用 Go 語言編寫的,它就相當于是加在 LXC(LinuX Containers,linux容器)上的管道,允許開發者在更高層次的概念上工作。
    Docker 擴展了 Linux 容器(Linux Containers),或著說LXC,通過一個高層次的 API 為進程單獨提供了一個輕量級的虛擬環境。Docker 利用了 LXC, cgroups 和 Linux自己的內核。和傳統的虛擬機不同的是,一個 Docker容器并不包含一個單獨的操作系統,而是基于已有的基礎設施中操作系統提供的功能來運行的。

    Docker類似虛擬機的概念,但是與虛擬化技術的不同點在于下面幾點:

   1.虛擬化技術依賴物理CPU和內存,是硬件級別的;而docker構建在操作系統上,利用操作系統的containerization技術,所以docker甚至可以在虛擬機上運行。

   2.虛擬化系統一般都是指操作系統鏡像,比較復雜,稱為“系統”;而docker開源而且輕量,稱為“容器”,單個容器適合部署少量應用,比如部署一個redis、一個memcached。

   3.傳統的虛擬化技術使用快照來保存狀態;而docker在保存狀態上不僅更為輕便和低成本,而且引入了類似源代碼管理機制,將容器的快照歷史版本一一記錄,切換成本很低。

   4.傳統的虛擬化技術在構建系統的時候較為復雜,需要大量的人力;而docker可以通過Dockfile來構建整個容器,重啟和構建速度很快。更重要的是Dockfile可以手動編寫,這樣應用程序開發人員可以通過發布Dockfile來指導系統環境和依賴,這樣對于持續交付十分有利。

   5.Dockerfile可以基于已經構建好的容器鏡像,創建新容器。Dockerfile可以通過社區分享和下載,有利于該技術的推廣。

    Docker會像一個可移植的容器引擎那樣工作。它把應用程序及所有程序的依賴環境打包到一個虛擬容器中,這個虛擬容器可以運行在任何一種 Linux服務器上。這大大地提高了程序運行的靈活性和可移植性,無論需不需要許可、是在公共云還是私密云、是不是裸機環境等等。

   Docker也是一個云計算平臺,它利用Linux的LXC、AUFU、Go語言、cgroup實現了資源的獨立,可以很輕松的實現文件、資源、網絡等隔離,其最終的目標是實現類似PaaS平臺的應用隔離。
    Docker 由下面這些組成:
    1. Docker 服務器守護程序(server daemon),用于管理所有的容器。
    2. Docker 命令行客戶端,用于控制服務器守護程序。
    3. Docker 鏡像:查找和瀏覽 docker 容器鏡像。

2 docker特性

    文件系統隔離:每個進程容器運行在完全獨立的根文件系統里。
    資源隔離:可以使用cgroup為每個進程容器分配不同的系統資源,例如CPU和內存。
    網絡隔離:每個進程容器運行在自己的網絡命名空間里,擁有自己的虛擬接口和IP地址。
    寫時復制:采用寫時復制方式創建根文件系統,這讓部署變得極其快捷,并且節省內存和硬盤空間。
   日志記錄:Docker將會收集和記錄每個進程容器的標準流(stdout/stderr/stdin),用于實時檢索或批量檢索。
   變更管理:容器文件系統的變更可以提交到新的映像中,并可重復使用以創建更多的容器。無需使用模板或手動配置。
   交互式Shell:Docker可以分配一個虛擬終端并關聯到任何容器的標準輸入上,例如運行一個一次性交互shell。

3 兩個基礎概念images與container

    Container和Image在Docker的世界里,Image是指一個只讀的層(Layer),這里的層是AUFS里的概念,最直觀的方式就是看一下docker官方給出的圖:

CentOS系統下docker的安裝配置及使用介紹
   Docker使用了一種叫AUFS的文件系統,這種文件系統可以讓你一層一層地疊加修改你的文件,最底下的文件系統是只讀的,如果需要修改文件,AUFS會增加一個可寫的層(Layer),這樣有很多好處,例如不同的Container可以共享底層的只讀文件系統(同一個Kernel),使得你可以跑N多個Container而不至于你的硬盤被擠爆了!這個只讀的層就是Image!而如你所看到的,一個可寫的層就是Container。
   那Image和Container的區別是什么?很簡單,他們的區別僅僅是一個是只讀的層,一個是可寫的層,你可以使用dockercommit命令,將你的Container變成一個Image,也就是提交你所運行的Container的修改內容,變成一個新的只讀的Image,這非常類似于gitcommit命令。

4 docker安裝與啟動

    安裝docker

[[email protected] /]# yum -y install docker-io

    更改配置文件

[[email protected] /]# vi /etc/sysconfig/docker
    other-args列更改為:other_args=”–exec-driver=lxc–selinux-enabled”

    啟動docker服務

[[email protected] /]# service docker start
Starting cgconfig service:                                 [  OK  ] Starting docker:                                               [  OK  ]     將docker加入開機啟動
[[email protected] /]# chkconfig docker on

    基本信息查看

    dockerversion:查看docker的版本號,包括客戶端、服務端、依賴的Go等

[[email protected] /]# docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.2
Git commit (client): 63fe64c/1.0.0
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.2
Git commit (server): 63fe64c/1.0.0
    docker info:查看系統(docker)層面信息,包括管理的images, containers數等
[[email protected] /]# docker info
Containers: 16
Images: 40
Storage Driver: devicemapper
 Pool Name: docker-253:0-1183580-pool
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 2180.4 Mb
 Data Space Total: 102400.0 Mb
 Metadata Space Used: 3.4 Mb
 Metadata Space Total: 2048.0 Mb
Execution Driver: lxc-0.9.0
Kernel Version: 2.6.32-431.el6.x86_64

5 鏡像的獲取與容器的使用

   鏡像可以看作是包含有某些軟件的容器系統,比如ubuntu就是一個官方的基礎鏡像,很多鏡像都是基于這個鏡像“衍生”,該鏡像包含基本的ubuntu系統。再比如,hipache是一個官方的鏡像容器,運行后可以支持http和websocket的代理服務,而這個鏡像本身又基于ubuntu。

    搜索鏡像
    docker search <image>:在docker index中搜索image

[[email protected] /]# docker search ubuntu12.10
NAME                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mirolin/ubuntu12.10                                                         0
marcgibbons/ubuntu12.10                                                     0
mirolin/ubuntu12.10_redis                                                   0
chug/ubuntu12.10×32         Ubuntu Quantal Quetzal 12.10 32bit  base i…   0
chug/ubuntu12.10×64         Ubuntu Quantal Quetzal 12.10 64bit  base i…   0

    下載鏡像

    docker pull <image> :從docker registry server中下拉image

[[email protected] /]# docker pull chug/ubuntu12.10×64

    查看鏡像

    docker images: 列出images

    docker images -a :列出所有的images(包含歷史)

    docker images –tree :顯示鏡像的所有層(layer)

    docker rmi  <image ID>:刪除一個或多個image

[[email protected] /]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
chug/ubuntu12.10×64   latest              0b96c14dafcd        4 months ago        270.3 MB
[[email protected] /]# docker images -a
REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
chug/ubuntu12.10×64   latest              0b96c14dafcd        4 months ago        270.3 MB
<none>                <none>              31edfed3bb88        4 months ago        175.8 MB
[[email protected] /]# docker images –tree
Warning: ‘–tree’ is deprecated, it will be removed soon. See usage.
└─31edfed3bb88 Virtual Size: 175.8 MB
  └─0b96c14dafcd Virtual Size: 270.3 MB Tags: chug/ubuntu12.10×64:latest
[[email protected] /]# docker rmi <image ID> ….

     使用鏡像創建容器

[[email protected] /]# docker run chug/ubuntu12.10×64  /bin/echo hello world
hello world
    交互式運行
[[email protected] /]# docker run -i -t chug/ubuntu12.10×64  /bin/bash
[email protected]:/#

    查看容器

    docker ps :列出當前所有正在運行的container
    docker ps -l :列出最近一次啟動的container
    docker ps -a :列出所有的container(包含歷史,即運行過的container)
    docker ps -q :列出最近一次運行的container ID

[[email protected] /]# docker ps
CONTAINER ID        IMAGE                        COMMAND             CREATED             STATUS              PORTS               NAMES
ccf3de663dc9        chug/ubuntu12.10×64:latest   /bin/bash           22 hours ago        Up 22 hours                             sharp_hypatia
[[email protected] /]# docker ps -l
CONTAINER ID        IMAGE                        COMMAND             CREATED             STATUS                     PORTS               NAMES
f145f184647b        chug/ubuntu12.10×64:latest   /bin/bash           6 seconds ago       Exited (0) 3 seconds ago                       compassionate_galileo
[[email protected] /]# docker ps -a
CONTAINER ID        IMAGE                        COMMAND             CREATED             STATUS                        PORTS               NAMES
f145f184647b        chug/ubuntu12.10×64:latest   /bin/bash           30 seconds ago      Exited (0) 26 seconds ago                         compassionate_galileo
f4624b42fe7e        chug/ubuntu12.10×64:latest   /bin/bash           2 minutes ago       Exited (0) 2 minutes ago                          sharp_wilson
ccf3de663dc9        chug/ubuntu12.10×64:latest   /bin/bash           22 hours ago        Up 22 hours                                       sharp_hypatia
9cbaa79b9703        chug/ubuntu12.10×64:latest   /bin/bash           22 hours ago        Exited (127) 36 minutes ago                       berserk_mcclintock
2161509ff65e        chug/ubuntu12.10×64:latest   /bin/bash           22 hours ago        Exited (0) 22 hours ago                           backstabbing_mclean
[[email protected] /]# docker ps -q
ccf3de663dc9

    再次啟動容器

    docker start/stop/restart<container> :開啟/停止/重啟container
    docker start [container_id] :再次運行某個container(包括歷史container)
    docker attach [container_id]:連接一個正在運行的container實例(即實例必須為start狀態,可以多個窗口同時attach一個container實例)
    docker start -i <container>:啟動一個container并進入交互模式(相當于先start,在attach)

    docker run -i -t <image> /bin/bash:使用image創建container并進入交互模式, login shell是/bin/bash
    docker run -i -t -p <host_port:contain_port>:映射 HOST 端口到容器,方便外部訪問容器內服務,host_port 可以省略,省略表示把 container_port映射到一個動態端口。
   注:使用start是啟動已經創建過得container,使用run則通過image開啟一個新的container。

    刪除容器

    docker rm <container…>:刪除一個或多個container
    docker rm `docker ps -a -q` :刪除所有的container
    docker ps -a -q | xargs docker rm :同上,刪除所有的container

6 持久化容器與鏡像

    6.1 通過容器生成新的鏡像

   運行中的鏡像稱為容器。你可以修改容器(比如刪除一個文件),但這些修改不會影響到鏡像。不過,你使用docker commit<container-id> <image-name>命令可以把一個正在運行的容器變成一個新的鏡像。

    docker commit <container> [repo:tag]將一個container固化為一個新的image,后面的repo:tag可選。

[[email protected] /]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
chug/ubuntu12.10×64   latest              0b96c14dafcd        4 months ago        270.3 MB
[[email protected] /]# docker commit d0fd23b8d3ac chug/ubuntu12.10x64_2
daa11948e23d970c18ad89c9e5d8972157fb6f0733f4742db04219b9bb6d063b
[[email protected] /]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
chug/ubuntu12.10x64_2   latest              daa11948e23d        6 seconds ago       270.3 MB
chug/ubuntu12.10×64     latest              0b96c14dafcd        4 months ago        270.3 MB

    6.2 持久化容器

    export命令用于持久化容器

    docker export <CONTAINER ID> >/tmp/export.tar

CentOS系統下docker的安裝配置及使用介紹

    6.3 持久化鏡像

    Save命令用于持久化鏡像

    docker save 鏡像ID > /tmp/save.tar

CentOS系統下docker的安裝配置及使用介紹

    6.4 導入持久化container

    刪除container 2161509ff65e

CentOS系統下docker的安裝配置及使用介紹

    導入export.tar文件

[[email protected] /]# cat /tmp/export.tar | docker import – export:latest
af19a55ff0745fb0a68655392d6d7653c29460d22d916814208bbb9626183aaa
[[email protected] /]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
export                  latest              af19a55ff074        34 seconds ago      270.3 MB
chug/ubuntu12.10x64_2   latest              daa11948e23d        20 minutes ago      270.3 MB
chug/ubuntu12.10×64     latest              0b96c14dafcd        4 months ago        270.3 MB

    6.5 導入持久化image

    刪除image daa11948e23d

CentOS系統下docker的安裝配置及使用介紹

    導入save.tar文件

[[email protected] /]# docker load < /tmp/save.tar
CentOS系統下docker的安裝配置及使用介紹
    對image打tag
[[email protected] /]# docker tag daa11948e23d load:tag
CentOS系統下docker的安裝配置及使用介紹

    6.6export-import與save-load的區別
   導出后再導入(export-import)的鏡像會丟失所有的歷史,而保存后再加載(save-load)的鏡像沒有丟失歷史和層(layer)。這意味著使用導出后再導入的方式,你將無法回滾到之前的層(layer),同時,使用保存后再加載的方式持久化整個鏡像,就可以做到層回滾。(可以執行dockertag <LAYER ID> <IMAGE NAME>來回滾之前的層)。

CentOS系統下docker的安裝配置及使用介紹

    6.7 一些其它命令

    docker logs $CONTAINER_ID#查看docker實例運行日志,確保正常運行
    docker inspect $CONTAINER_ID #docker inspect<image|container> 查看image或container的底層信息

    docker build <path>尋找path路徑下名為的Dockerfile的配置文件,使用此配置生成新的image
    docker build -t repo[:tag] 同上,可以指定repo和可選的tag
    docker build – < <dockerfile>使用指定的dockerfile配置文件,docker以stdin方式獲取內容,使用此配置生成新的image
    docker port <container> <container port>查看本地哪個端口映射到container的指定端口,其實用docker ps 也可以看到

7 一些使用技巧

    7.1 docker文件存放目錄

    Docker實際上把所有東西都放到/var/lib/docker路徑下了。

[[email protected] docker]# ls -F
containers/  devicemapper/  execdriver/  graph/  init/  linkgraph.db  repositories-devicemapper  volumes/
    containers目錄當然就是存放容器(container)了,graph目錄存放鏡像,文件層(filesystemlayer)存放在graph/imageid/layer路徑下,這樣我們就可以看看文件層里到底有哪些東西,利用這種層級結構可以清楚的看到文件層是如何一層一層疊加起來的。

    7.2  查看root密碼

   docker容器啟動時的root用戶的密碼是隨機分配的。所以,通過這種方式就可以得到容器的root用戶的密碼了。

  1. docker logs 5817938c3f6e 2>&1 | grep 'User: ' | tail -n1 

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 午夜影院 | 成人黄色小视频 | 久久99精品国产麻豆婷婷洗澡 | 国产精品毛片一区视频播不卡 | 欧美一区永久视频免费观看 | www.欧美精品 | 岛国一区 | 亚洲一区电影 | 福利视频二区 | 国产综合中文字幕 | 成人福利电影 | 国产看片网站 | 国产精品99久久久久久久vr | 久久久久久一区二区三区 | 日韩成人在线免费观看 | 看a网站 | 午夜久久乐| 欧美日韩国产一区二区三区不卡 | 一区二区三区四区在线视频 | 久久亚洲天堂 | 亚洲视频一区在线 | 欧美一级片在线 | 亚洲综合色自拍一区 | 国产98色在线 | 日韩 | 精品亚洲成a人在线观看 | 欧美2区| 亚洲精品二三区 | 中文字幕 国产精品 | 久久久久一区二区 | 久久精品无码一区二区日韩av | 操批网站 | 成人免费在线电影 | 日本三级韩国三级三级a级中文 | 亚洲欧美影院 | 精品一区二区久久久久黄大片 | 精品国产一区二区三区高潮视 | 中文字幕高清视频 | 中文字幕一级毛片 | 欧美在线视屏 | 国产一区二区在线免费观看 | 国产精品99久久久久久动医院 |