欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司是少有的成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、營銷型企業(yè)網(wǎng)站、微信平臺小程序開發(fā)、手機APP,開發(fā)、制作、設(shè)計、買友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,成立于2013年,堅持透明化,價格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評

昨天寫項目時需要用到Mysql的衍生版本percona, 就想用Doker來安裝.結(jié)果踩了一晚上坑, 今早終于解決. 現(xiàn)記錄在此.
這個坑原因是我對linux的目錄權(quán)限問題不敏感導(dǎo)致的. 我的系統(tǒng)是ubuntu16.04, 運行 docker pull percona 拉取鏡像時一切正常.

Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限

拉取完后,輸入 docker images查看所有鏡像, 顯示正常:

Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限

然后我創(chuàng)建容器,命令為(執(zhí)行時不要有換行):

docker create --name percona -v /data/mysql-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:lates

這個命令的意思是我創(chuàng)建一個名為percona的容器, 然后把我本地的/data/mysql-data目錄映射到docker容器中的/var/lib/mysql目錄 并指定3306端口,然后設(shè)數(shù)據(jù)庫root用戶密碼也為root,最后的percona:latest是指定我上面拉取的版本.

因為docker容器中的數(shù)據(jù)庫只是一個鏡像,可以理解為并不是真實存在的,映射到我本地目錄的作用就是docker往/var/lib/mysql目錄存儲的數(shù)據(jù)都可以同步存儲到我的本地/data/mysql-data目錄. 這樣保證了數(shù)據(jù)不丟失,而且方便我本地操作.

命令的參數(shù)不了解的可以看下官方文檔或者隨便搜個docker視頻教程, 都有解釋. 然后我開啟此容器, docker start percona. 開啟完后查詢所有運行中的容器docker ps, 這時候出問題了:

Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限

為空,即沒有查到運行中的容器... 然后我查了下所有的容器,包括運行的和沒運行的的. docker ps -a, 顯示如下:

Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限

原來是端口沒有綁定成功, 所以沒有運行!, 每次運行就自動exited

這時我查看了一下docker日志, 輸入命令 docker logs 容器id, 顯示如下:

Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限

注: 這里的71是我此容器的container_id的開頭前兩個數(shù)字, docker支持這種簡化寫法.

日志報錯說我沒有對容器中/var/lib/mysql目錄下的創(chuàng)建和寫權(quán)限.
現(xiàn)在找到這個問題原因了, 可是搜了一晚上都沒有解決, 不得不說網(wǎng)上的一些不負責任的水貼是真的坑!
終于在早上找了解決辦法:
即檢查我本地目錄的所有者和docker容器中的/var/lib/mysql目錄的所有者是否為同一個用戶.

docker run -ti --rm --entrypoint="/bin/bash" percona -c "whoami && id"

此命令的作用是查看容器的所有者, 顯示為:

Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限

然后輸入(不能換行):

docker run -ti --rm -v /data/mysql-data:/var/lib/mysql --entrypoint="/bin/bash" percona -c "ls -la /var/lib/mysql"

此命令的作用是查看映射本地數(shù)據(jù)卷時, 此目錄的擁有者

Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限

原因就出在這里, 這就是為什么mysql用戶訪問docker中的目錄時, 會報權(quán)限錯誤! 因為 本地映射目錄的主人是root用戶, 而docker容器中/var/lib/mysql目錄的主人是mysql用戶,uid為999!
然后解決方法就是, 把當前目錄的擁有者賦值給uid 999即mysql用戶, 再重新啟動容器

Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限

關(guān)于“Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當前文章:Docker如何創(chuàng)建容器時設(shè)置目錄權(quán)限-創(chuàng)新互聯(lián)
本文地址:http://www.chinadenli.net/article26/djdjcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化企業(yè)建站網(wǎng)站制作網(wǎng)站策劃網(wǎng)站排名網(wǎng)站營銷

廣告

聲明:本網(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)

網(wǎng)站建設(shè)網(wǎng)站維護公司