久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      本篇文章給大家?guī)砹薉ocker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)的相關(guān)知識,希望對大家有幫助。

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      Docker數(shù)據(jù)卷技術(shù)

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      什么是容器數(shù)據(jù)卷

      docker的理念回顧

      將應(yīng)和環(huán)境打包成一個鏡像!

      數(shù)據(jù)?如果數(shù)據(jù)都在容器中,那么我們?nèi)萜鲃h除,數(shù)據(jù)就會丟失!需求:數(shù)據(jù)可以持久化

      MySQL,容器刪了,刪庫跑路—>需求:MySQL數(shù)據(jù)可以存儲在本地!

      容器之間可以有一個數(shù)據(jù)共享的技術(shù)!Docker容器中產(chǎn)生的數(shù)據(jù),同步到本地!

      這就是卷技術(shù)!目錄的掛載,將我們?nèi)萜鲀?nèi)的目錄,掛載到Linu×上面!

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      總結(jié):容器的持久化和同步操作!容器間也是可以實現(xiàn)數(shù)據(jù)共享的!

      使用數(shù)據(jù)卷

      docker run -it -v 宿主機目錄: 容器目錄 -p 主機端口:容器端口 容器id

      實戰(zhàn)演練

      inspect查看同步詳細(xì)信息

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      在容器中創(chuàng)建一個文件,看是否同步到本地文件夾

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      在關(guān)閉容器的情況下,對本地文件進行修改,看修改的是不是會同步到容器中文件

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      Mysql實戰(zhàn)

      命令

      docker run -d -p 3310:3306 -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

      參數(shù)

      -d 后臺運行

      -p 端口映射

      -v 數(shù)據(jù)卷掛載:同步數(shù)據(jù)

      -e 設(shè)置環(huán)境變量:這里時設(shè)置的時MySQL的登陸密碼

      –name 容器起名字

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      測試結(jié)果:連接成功

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      遇到的問題

      首先使用的時mysql的最新版本:8.0—-在使用navicat進行連接的時候,總是報莫名其妙的錯誤

      解決方式:換成5.7版本,沒有任何問題

      在我們run鏡像mysql的時候,沒有加上-e MYSQL_ROOT_PASSWORD=123456進行密碼的設(shè)置,容器一直會處于關(guān)閉狀態(tài),即使重新start也不會開啟

      加上-e MYSQL_ROOT_PASSWORD=123456這個參數(shù)完美開啟

      即使我們將容器刪除,我們掛載到本地的數(shù)據(jù)卷依舊沒有丟失,這就實現(xiàn)了容器數(shù)據(jù)的持久化功能

      具名掛載和匿名掛載

      匿名掛載

      -v 容器內(nèi)的路徑!

      docker run -d --name nginx01 -v /etc/nginx nginx

      這里我們發(fā)現(xiàn),這種就是匿名掛載,我們在-v的后面只是寫上了容器內(nèi)的路徑,沒有寫容器外的路徑

      查看所有卷的情況

      docker volume ls

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      具名掛載

      -v 掛載卷的名稱:容器內(nèi)的路徑

      docker run -d --name nginx01 -v 具名掛在名稱:/etc/nginx nginx

      這里我們發(fā)現(xiàn),這種就是匿名掛載,我們在-v的后面既寫上了容器內(nèi)的路徑,沒有容器外的路徑,但是有一個名稱

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      docker的內(nèi)容目錄:/var/lib/docker

      所有的docker容器內(nèi)的卷,沒有指定目錄的情況下都是在:/var/lib/docker/volume/xx/_data

      我們可以通過具名掛載方便的找到我們的一個卷,并且在使用卷的時候最多的使用方式就是具名掛載

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      額外知識

      如何區(qū)分時具名掛載還是匿名掛載,指定路徑掛載

      -v 容器內(nèi)路徑 #匿名掛載

      -v 卷名:容器內(nèi)路徑 #具名掛載

      -v /容器外路徑:容器內(nèi)路徑 #指定路徑掛載

      擴展

      -v 容器內(nèi)路徑:ro rw 改變讀寫權(quán)限

      ro readonly 只讀

      rw readwrite 可讀可寫

      一旦設(shè)置了這個容器權(quán)限,容器對我們掛載出來的內(nèi)容就有限定了

      docker run -d --name nginx01 -v 具名掛在名稱:/etc/nginx:ro nginx docker run -d --name nginx01 -v 具名掛在名稱:/etc/nginx:rw nginx

      Ro 只要看到ro就說明這個路徑只能通過宿主機來進行操作,容器內(nèi)是無法操作的!

      初識Dockerfile

      dockerfile

      dockerfile就是用來構(gòu)建docker鏡像文件的!命令腳本!先體驗一下

      通過這個腳本可以生成鏡像,鏡像是一層一層的,腳本是一個個的命令,每個命令都是一層!

      寫一個dockerfile

      # 創(chuàng)立一個dockerfile文件,名字可以隨便的取,最好叫做dockerfile # 文件中的內(nèi)容 指令(大寫) 參數(shù) FROM centos VOLUME ["volme01","volume02"] CMD echo "--------end----------" CMD /bin/bash #這里每個指令就是鏡像的一層

      使用dockerfile生成鏡像

      docker build -f dockerfile文件位置 -t 鏡像名稱和版本 鏡像生成的位置

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      進入鏡像查看詳情

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      查看卷的同步目錄

      docker ps -a

      docker inspect 容器id

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      最后測試兩個文件夾中是不是同步

      同步成功

      總結(jié)

      使用dockerfile構(gòu)建鏡像的方式在我們未來的使用中非常的多,因為我們通常會構(gòu)建自己的鏡像

      假設(shè)構(gòu)建鏡像時候沒有掛載卷,要手動鏡像掛載-v

      數(shù)據(jù)卷容器

      實際上即使保證的容器之間的數(shù)據(jù)共享的問題

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      數(shù)據(jù)卷容器實際上就是被拷貝數(shù)據(jù)的容器(A- volumes-from ->B,B是數(shù)據(jù)卷容器)

      測試兩個鏡像之間同步

      首先先開三個容器

      創(chuàng)建docker01

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      創(chuàng)建docker02 –volumes-from docekr01

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      創(chuàng)建docker03 –volumes-from docekr02

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      查看docker01和docker03之間的數(shù)據(jù)共享

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      接著我們將docker02刪除,查看docker01和docker03之間的數(shù)據(jù)共享

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      總結(jié):

      Docker總結(jié)分享之?dāng)?shù)據(jù)卷技術(shù)

      實現(xiàn)多個mysql之間的數(shù)據(jù)共享

        docker run -d -p 3310:3306 -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7   docker run -d -p 3310:3306 --volumes-from mysql01 -e MYSQL_ROOT_PASSWORD=123456 --name    mysql02 mysql:5.7

      總結(jié):

      容器之間配置信息的傳遞。數(shù)據(jù)卷容器的聲明周期一直持續(xù)到?jīng)]有容器使用位置

      理解:容器之間只要是共享就會數(shù)據(jù)copy,即使有的容器被刪除,數(shù)據(jù)依然存在,直到所有共享 的容器都刪除,數(shù)據(jù)才會被徹底刪除

      但是一旦你持久化到了本地,這個時候,本地的數(shù)據(jù)是不會刪除的。

      推薦學(xué)習(xí):《docker視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號