<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Docker學習小記

      先學會基本使用,再去了解其原理,相輔相成。

       

       一、安裝docker(CentOS版本建議在7以上,對docker支持更好)

      yum install docker

      安裝完畢后可以查看版本:docker -v

      查看使用說明:docker --help

      參數

      命令

       啟動docker:service docker start

       

      二、鏡像操作

      列出鏡像:docker images(目前什么都沒有下載)

       搜索鏡像:docker search 鏡像名

      拉取鏡像:docker pull 鏡像名

      拉取鏡像前,可以先配置國內鏡像源ustc:vi /etc/docker/daemon.json

      花括號里添加一行:"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]

       重啟docker服務生效配置:service docker restart

       繼續拉取鏡像:docker pull centos:7

       刪除單個鏡像:docker rmi IMAGE_ID(有容器在運行的鏡像是不會被刪除的)

       刪除所有鏡像:docker rmi `docker images -q`(這里的反引號`是Esc下面的那個,有容器在運行的鏡像也不會被刪除的)

       

      三、容器操作

      1,查看容器

       查看正在運行的容器:docker ps

       查看所有容器(啟動過的容器):docker ps -a

       查看最后一次運行的容器:docker ps -l

      2,創建與啟動容器

       創建容器:docker run

       參數說明:-i:運行容器、-t:啟動即進入容器命令行、--name:給容器命名,接=、-v:表示目錄映射關系,宿主機目錄:容器目錄,可以用多個-v做多個映射、-d:守護式容器在后臺運行、-p:端口映射,宿主機端口:容器端口,可以用多個-p做多個端口映射。

      2.1,創建一個交互式容器并取名為mycentos:docker run -it --name=mycetnos centos:7 /bin/bash

       此時已經入啟動的容器偽終端命令行,打開另一個terminal,docker ps

      可以看到一個Up的STATUS,即表示正在運行的容器

       在容器命令行輸入exit即可退出并關閉容器

       

       這時使用docker ps看不到,需要用docker ps -a

       

       2.2,創建守護式容器:docker run -id --name=mycentos-guard centos:7

       出現上面這串字符串表示啟動成功,進入容器:docker exec -it 容器名稱(NAMES)/容器ID(CONTAINER ID) /bin/bash

       

       此時exit并不會停止容器運行,需要:docker stop 容器名稱(NAMES)/容器ID(CONTAINER ID) 

       

       需要再次啟動時:docker start 容器名稱(NAMES)/容器ID(CONTAINER ID) 

       

      3,文件拷貝

       從宿主機中拷貝到容器中:docker cp 被拷貝文件或目錄 容器名稱:容器目錄

       從容器中拷貝到宿主機:docker cp 容器名稱:容器目錄 被拷貝文件或目錄

      4,目錄掛載(掛載:即把設備放在一個目錄下,讓系統知道怎么管理這個設備里的文件)

       我們可以在創建容器的時候,將宿主機的目錄與容器內的目錄進行映射,這樣我們就可以通過修改宿主機某個目錄的文件從而去影響容器。

       創建容器時在-id后面加上:-v 宿主機目錄:容器目錄,如果共享的是多級目錄會有權限不足,可以再加上參數:--privileged=true

      docker run -id --name=mycentos-mount -v /usr/dir0315:/usr/local/dir0316 centos:7

       

       容器創建成功,在宿主機里對該目錄下的操作,在容器里都會同步

      5,查看容器運行的數據

      查看所有數據:docker inspect 容器名稱

      查看ip地址:docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名稱

      6,刪除容器(只能刪除停止運行的容器)

       刪除單個容器:docker rm 容器名稱(NAMES)/容器ID(CONTAINER ID) 

       刪除所有容器:docker rm `docker ps -a -q`

       

       五、部署應用

      1,部署mysql到容器:docker run -id --name=contains_mysql -p 33306:3306 -e MYSQL_PASSWORD=123456 mysql

       啟動成功后,在自己的windows下通過navicat連接容器mysql

       

       測試連接,連接成功后登錄即可對容器mysql進行操作

       

       

       

      docker理解:
      鏡像與容器的關系。
      鏡像本質就是一個壓縮文件,可以export出一個類似linux根目錄的目錄結構。docker鏡像分層結構即鏡像是由一系列只讀的層組成,每一個命令都會在只讀層上創建一個新的層,最終的鏡像就是層層疊加而成。
      而容器就是基于鏡像層層疊加的基礎上在最上層創建一個可讀寫的層,所以一個鏡像可以對應到多個容器(即多個可讀寫的層),運行容器時的操作都是對這個容器對應的讀寫層的操作,不會影響到鏡像本身。

      Namspaces(命令空間)(虛擬資源):Linux提供的用于分離進程數、網絡接口、掛載點以及進程間通信等資源的方法。Linux提供了七種命令空間

      服務器上啟動了多個服務的話是會互相影響的,并且可以隨意查看宿主機上的服務和文件,基于安全和一致性考慮,我們更希望的是不同服務之間能夠完全隔離

      進程隔離(CLONE_NEWPID):宿主機和容器之間的進程應該是相互隔離開來。

      每次docker run/docker start時,會設置一個進程間隔離的Spec,最后將Spec作為創建容器的參數進行設置。

      網絡隔離(libnetwork):容器需要通過宿主機與外界網絡相連才能發揮作用。
      docker默認為網橋模式:docker啟動后會在主機上創建一個虛擬網橋dockero,后續啟動的全部服務都默認與該網橋相連接。

      當外界訪問宿主機ip:端口時,dockero通過iptables的前置路由規則將地址定向到容器ip,再根據映射的端口號訪問容器。
      所以我們在連接容器的時候,用的是宿主機的ip地址和端口,經過重定向和映射,就找到了容器。

      掛載(CLONE_NEWNS):容器中的進程不應該直接訪問或者修改宿主機的其他目錄。

      在創建隔離掛載點命名空間時傳入CLONE_NEWNS,使子進程得到父進程掛載點的拷貝,否則子進程對文件系統的讀寫會同步到父進程和整個主機文件系統。
      同時需要通過libcontainer提供的pivot_root或者chroot函數改變進程可以訪問文件目錄的根節點。

      CGroups(控制組)(物理資源):Linux提供的一種可以限制、記錄、隔離進程組使用物理資源(CPU、內存、磁盤I/O、網絡等)的機制。

      當同一臺機器上運行多個容器時,假如某一個容器正在大量消耗物理資源,那么勢必就會影響到其他容器,因此需要CGroups來分配物理資源。
      在CGroup中,所有的任務就是一個系統的一個進程,而CGroup就是一組按照某種標準劃分的進程,在CGroup機制下,所有的資源控制都是以CGroup作為單位來實現,每一個進程都可以隨時加入或退出一個CGroup(進程通過加入/退出CGroup來使用/釋放資源)。
      當我們運行一個docker容器時,Docker會為這個容器在子系統(如cpu子系統)目錄下docker目錄下創建一個與容器標識符相同的CGroup,而每一個CGroup下面都有一個tasks文件,其中存儲著屬于當前控制組的所有進程的pid,因此cpu.cfs_quota_us文件就可以對cpu的使用作出限制。所以,當想要控制某個容器的資源使用率,就可以直接改變這個文件的內容。
      關閉正在運行的容器時,Docker會移除子控制組對應的文件夾,實際上Docker在使用CGroup時其實也就是做了一些創建文件夾改變文件內容的操作。

       

      posted @ 2021-03-16 16:49  lynnk1ng  閱讀(69)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 伊人春色激情综合激情网| AV无码不卡一区二区三区| 国产乱码一区二区三区免费| 国产精品免费中文字幕| 国产亚洲欧美另类一区二区| 精品国产粉嫩一区二区三区| 亚洲色最新高清AV网站| 精品无码成人久久久久久| 国产精品区免费视频| 色五月丁香五月综合五月4438| 人人妻碰人人免费| 国产美女免费永久无遮挡| 日本一区二区精品色超碰| 亚洲爆乳成av人在线视菜奈实| 在线亚洲妇色中文色综合| 精品国产一区二区三区四区| 日韩高清免费一码二码三码| 一区二区三区四区亚洲自拍| 少妇特黄a一区二区三区| 人妻系列中文字幕精品| 国产明星精品无码AV换脸| 真人抽搐一进一出视频| 精品亚洲一区二区三区在线观看| av无码免费一区二区三区| 人妻精品中文字幕av| 精品国产午夜肉伦伦影院| 国内精品久久久久影院网站| 国产成人一区二区免av| 日韩精品久久久肉伦网站| 中文字幕无码免费不卡视频| 四虎永久精品免费视频| 无码AV中文字幕久久专区| 不卡无码人妻一区三区音频| 亚洲精品无amm毛片| 亚洲永久精品日韩成人av| 国产精品一区中文字幕| 日韩高清国产中文字幕| 日韩精品 在线 国产 丝袜| 国产精品无码无卡在线观看久| 欧美国产日韩久久mv| 人体内射精一区二区三区|