欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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


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

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

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

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

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

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


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


原來是端口沒有綁定成功, 所以沒有運(yùn)行!, 每次運(yùn)行就自動(dòng)exited

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


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

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

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"

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


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

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

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

相關(guān)文章

  • docker容器的一些常見命令小結(jié)

    docker容器的一些常見命令小結(jié)

    Docker是目前最流行的容器化平臺(tái)之一,它提供了一種輕量級(jí)的虛擬化解決方案,使得應(yīng)用程序的部署和管理變得更加便捷和高效,這篇文章主要給大家總結(jié)介紹了關(guān)于docker容器的一些常見命令,需要的朋友可以參考下
    2024-01-01
  • Docker部署MySQL主從復(fù)制的實(shí)現(xiàn)

    Docker部署MySQL主從復(fù)制的實(shí)現(xiàn)

    本文主要介紹了Docker部署MySQL主從復(fù)制的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • CentOS7 阿里云的yum源使用詳解

    CentOS7 阿里云的yum源使用詳解

    這篇文章主要介紹了CentOS7 阿里云的yum源使用詳解的相關(guān)資料,這里對(duì)備份yum源,添加EPEL源,和緩存清理,進(jìn)行了介紹,需要的朋友可以參考下
    2016-11-11
  • 使用Docker完成前端部署詳細(xì)圖文教程

    使用Docker完成前端部署詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于使用Docker完成前端部署的相關(guān)資料,Docker變得越來越流行,它可以輕便靈活地隔離環(huán)境,進(jìn)行擴(kuò)容,運(yùn)維管理,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • docker容器存儲(chǔ)清理刪除所需命令和方法

    docker容器存儲(chǔ)清理刪除所需命令和方法

    這篇文章主要介紹了docker容器存儲(chǔ)清理所需命令和方法,我在用docker安裝的es使用過程中,發(fā)現(xiàn)內(nèi)存占滿了,我把全部的都刪除掉了,但有時(shí)候數(shù)據(jù)我們必須要使用,所以不能全刪,需要指定刪除,下面就是一些docker容器存儲(chǔ)清理所需的一些命令和方法,需要的朋友可以參考下
    2023-01-01
  • 詳解Docker下搭建Jenkins構(gòu)建環(huán)境

    詳解Docker下搭建Jenkins構(gòu)建環(huán)境

    這篇文章主要介紹了詳解Docker下搭建Jenkins構(gòu)建環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • docker-compose如何安裝skywalking

    docker-compose如何安裝skywalking

    這篇文章主要介紹了docker-compose如何安裝skywalking問題,
    2024-01-01
  • docker安裝ros2詳細(xì)步驟介紹

    docker安裝ros2詳細(xì)步驟介紹

    大家好,本篇文章主要講的是docker安裝ros2詳細(xì)步驟介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Docker鏡像優(yōu)化打包速度思考

    Docker鏡像優(yōu)化打包速度思考

    本文主要介紹了Docker鏡像優(yōu)化打包速度思考,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 詳解docker 容器不自動(dòng)退出結(jié)束運(yùn)行的方法

    詳解docker 容器不自動(dòng)退出結(jié)束運(yùn)行的方法

    本文主要簡(jiǎn)單介紹 docker 容器與前置進(jìn)程的關(guān)系,以及如何編寫 Dockerfile/docker-compose.yml 優(yōu)雅的讓容器可以常駐運(yùn)行。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評(píng)論