最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker創(chuàng)建容器時目錄權(quán)限踩坑

 更新時間:2020年03月05日 11:00:03   作者:清淺  
這篇文章主要介紹了Docker創(chuàng)建容器時目錄權(quán)限踩坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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


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

然后我創(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ù)據(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 ps -a, 顯示如下:


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

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


注: 這里的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 run -ti --rm -v /data/mysql-data:/var/lib/mysql --entrypoint="/bin/bash" percona -c "ls -la /var/lib/mysql"

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


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

問題解決了! 浪費了一晚上時間, 不得不說, linux的權(quán)限控制知識還要加深!

到此這篇關(guān)于Docker創(chuàng)建容器時目錄權(quán)限踩坑的文章就介紹到這了,更多相關(guān)Docker創(chuàng)建容器目錄權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在Docker容器中不需要運行sshd的原因淺析

    在Docker容器中不需要運行sshd的原因淺析

    在一個容器中運行SSH服務器,這真的是一個錯誤(大寫字母W)嗎?老實說,沒那么嚴重。當你不去訪問Docker主機的時候,這樣做甚至是極其方便的,但是這仍然需要在容器中取得一個shell
    2016-11-11
  • 使用docker搭建gitlab詳解

    使用docker搭建gitlab詳解

    本篇文章主要介紹了使用docker搭建gitlab詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Docker容器應用日志查看方法

    Docker容器應用日志查看方法

    今天小編就為大家分享一篇關(guān)于Docker容器應用日志查看方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 深入理解docker鏡像的分層(小白必看)

    深入理解docker鏡像的分層(小白必看)

    本文關(guān)鍵詳細介紹了Docker鏡像層次的基本原理詳細說明,原文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Docker構(gòu)建Jar鏡像的方法實現(xiàn)

    Docker構(gòu)建Jar鏡像的方法實現(xiàn)

    本文主要介紹了Docker構(gòu)建Jar鏡像的方法實現(xiàn),主要包括編寫Dockerfile、構(gòu)建鏡像、測試鏡像等操作,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • docker建立私有倉庫的過程

    docker建立私有倉庫的過程

    這篇文章主要介紹了docker私有倉庫的建立,在這需要注意從私有倉庫下載先移出原鏡像,具體操作過程跟隨小編一起看看吧
    2022-01-01
  • docker容器高效連接Redis的方法步驟

    docker容器高效連接Redis的方法步驟

    在微服務架構(gòu)中,Redis?是一種常見的高效緩存解決方案,通常用于存儲臨時數(shù)據(jù)、會話信息或?token,這篇博客將以實際項目為例,詳細介紹如何配置?Flask?應用中的服務容器連接宿主機上的?Redis?服務,需要的朋友可以參考下
    2024-09-09
  • Docker如何創(chuàng)建一個Jar服務容器

    Docker如何創(chuàng)建一個Jar服務容器

    這篇文章主要介紹了Docker如何創(chuàng)建一個Jar服務容器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Docker Compose的安裝和使用步驟

    Docker Compose的安裝和使用步驟

    Docker Compose是一個工具,用于定義和運行多容器應用程序的工具,接下來通過本文給大家分享Docker Compose的安裝和使用教程一起看看吧
    2021-09-09
  • Docker安裝MySQL并使用Navicat連接的使用示例

    Docker安裝MySQL并使用Navicat連接的使用示例

    在Docker里運行MySQL的方式還是很方便的,本文主要介紹了Docker安裝MySQL并使用Navicat連接的使用示例,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10

最新評論

扎兰屯市| 上虞市| 白银市| 安远县| 营口市| 宁晋县| 高陵县| 达州市| 莱芜市| 迁安市| 永登县| 陆丰市| 左云县| 共和县| 沾化县| 河北省| 景德镇市| 陈巴尔虎旗| 理塘县| 普格县| 大同市| 石门县| 东海县| 松潘县| 吐鲁番市| 兴仁县| 临猗县| 乐业县| 贺兰县| 镇赉县| 洛宁县| 左贡县| 微博| 五华县| 师宗县| 专栏| 蓬莱市| 郑州市| 新丰县| 永胜县| 合江县|