本篇內(nèi)容主要講解“怎么理解docker持久化存儲和數(shù)據(jù)共享”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“怎么理解docker持久化存儲和數(shù)據(jù)共享”吧!
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供喀左網(wǎng)站建設(shè)、喀左做網(wǎng)站、喀左網(wǎng)站設(shè)計、喀左網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、喀左企業(yè)網(wǎng)站模板建站服務(wù),10年喀左做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
使用Data Volume:
首先在Dockerfile中定義 Volume ["/var/lib/MySQL"],這個路徑是容器中的路徑,數(shù)據(jù)文件就存在這個路徑下
將這個路徑映射到宿主機的硬盤上,通過-v選項
docker run -v mysql:/var/lib/mysql
使用Data Volume持久化的方式,是因為我們?nèi)萜魇且粋€數(shù)據(jù)源的產(chǎn)生地方,本身會產(chǎn)生文件和數(shù)據(jù),而我們不想讓我們的文件和數(shù)據(jù)隨著容器的消失而消失,因此用這種方式持久化。
這種方式和第一種方式的區(qū)別是:
Data Volume 需要在Dockerfile中定義需要創(chuàng)建的Volume,而Bink Mounting不需要,我們只需要在啟動容器的時候指定本地的目錄和容器中的目錄的對應(yīng)關(guān)系就可以了:
docker run -v /home/aaa:/root/aaa
這樣本地的目錄文件和容器中的文件是同步的,如果本地的文件做了修改,那么容器中的文件也會修改。
創(chuàng)建一個Dockerfile,內(nèi)容如下:
FROM nginx:latest WORKDIR /usr/share/nginx/html COPY index.html index.html
這個可以將本地的index.html 拷貝到容器中的/usr/share/nginx/html下面,
index.html的內(nèi)容如下:
<body> <h2>hello docker !</h2> </body>
執(zhí)行build:
ocker build -t vincent/my-nginx . Sending build context to Docker daemon 3.072kB Step 1/3 : FROM nginx:latest ---> 719cd2e3ed04 Step 2/3 : WORKDIR /usr/share/nginx/html ---> Using cache ---> ebda8a0ae3aa Step 3/3 : COPY index.html index.html ---> e3e9c5946773 Successfully built e3e9c5946773 Successfully tagged vincent/my-nginx:latest
創(chuàng)建一個容器:
docker run -d -p 80:80 --name web vincent/my-nginx 2cc59b89c8f4c2d60c65ad5b7490fec11c727f38a30c72a0d777209e2ea2b987
驗證一下:
curl 127.0.0.1 <body> <h2>hello docker !</h2> </body>
說明可以訪問!
刪除這個容器:
docker rm -f web
重新創(chuàng)建容器,并且添加參數(shù)-v,將本地的一個文件映射到里面去:
docker run -d -v $(pwd):/usr/share/nginx/html -p 80:80 --name web vincent/my-nginx ec423f40c66477471f38d8bc8a1002a1767e99d810b69b4c991446b9ced5fdea
$(pwd)表示當(dāng)前路徑。
進入到容器中,創(chuàng)建一個文件test.txt:
docker exec -it web /bin/bash root@ec423f40c664:/usr/share/nginx/html# ls Dockerfile index.html root@ec423f40c664:/usr/share/nginx/html# touch test.txt
退出后,在宿主機可以看到這個文件test.txt。修改文件內(nèi)容,可以同步修改宿主機的內(nèi)容,說明文件已經(jīng)同步了。
因為我們的宿主機的目錄$(pwd)和容器中的目錄/usr/share/nginx/html是同步的。
到此,相信大家對“怎么理解docker持久化存儲和數(shù)據(jù)共享”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞標題:怎么理解docker持久化存儲和數(shù)據(jù)共享
文章分享:http://aaarwkj.com/article8/gipiip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、網(wǎng)站營銷、虛擬主機、網(wǎng)站維護、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)