亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker掛載資料卷保存MySQL數據

 更新時間:2022年01月20日 10:50:03   作者:老馬-Max  
這篇文章介紹了Docker掛載資料卷保存MySQL數據的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

簡介

docker是運行在虛擬環(huán)境中的,這樣會有一個問題,那就是儲存在docker內的數據會隨著docker的重啟、宕機而丟失,從而造成不可估量的損失。

所以docker提供了-v指令,可以將容器內的目錄以及文件映射到外部文件系統(tǒng),容器啟動時會讀取外部文件系統(tǒng),從而保證數據的完整性。

mysql作為最流行的數據庫之一,使用范圍十分廣泛,如果部署在docker卻無法持久化怎么辦呢?今天就來說一下mysql資料卷。

MySql資料卷

mysql需要保存的只有兩種文件:數據和配置文件。mysql的默認配置文件是 /etc/mysql/my.cnf (winDocker下是 /etc/my.cnf),如果是docker下的mysql,建議在 /etc/mysql/conf.d 目錄中創(chuàng)建 .cnf 文件。新建的文件只要保證后綴名是 cnf 即可覆蓋配置項。至于mysql數據存放的目錄,可以在mysql配置文件中找到:

文件寫的很清楚,數據保存在 /var/lib/mysql 路徑。接下來需要創(chuàng)建存放資料卷的路徑,我創(chuàng)建的目錄是 /docker/mysql/data 和 /docker/mysql/conf.d,前者是數據目錄,后者是配置目錄。接下來需要在本機指定位置新建目錄(我已經創(chuàng)建好了):

現在編寫命令:

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

這命令有些長,解釋一下:

  • -itd:開啟交互模式,模擬終端,后臺運行
  • -p 3306:3306:對應端口映射到宿主機
  • -e MYSQL_ROOT_PASSWORD=123456:設置root賬戶密碼為123456
  • -v /docker/mysql/data/:/var/lib/mysql/:將宿主機的 /docker/mysql/data/ 目錄與mysql的 /var/lib/mysql/ 同步
  • -v /docker/mysql/conf.d:/etc/mysql/conf.d:將宿主機的 /docker/mysql/conf.d 目錄與mysql的 /etc/mysql/conf.d 同步
  • --name mysql01:自定義容器名稱

mysql:運行的鏡像名稱

這一命令執(zhí)行過后,你會看到新容器mysql01已經正常啟動了:

正常情況下,你設置的目錄下會多出一些文件:

接下來測試一下。通過客戶端連接到docker下的mysql(如果不知道如何使用客戶端連接docker下的mysql,請翻我之前的博文),新建數據庫:

然后重啟docker:

重啟成功以后,進入容器查看數據庫:

數據庫并沒有因為docker重啟而被初始化,證明資料卷已經生效。以后再也不怕Docker宕機而數據丟失了。

后言

我分別在winDocker和linuxDocker下設置了mysql資料卷,但只有l(wèi)inux可以跑得起來。winDocker的資料卷可以設置成功,但是重啟docker后會出現無法啟動mysql容器的錯誤。根據mysql官方聲明得知,docker內的mysql官方鏡像是oracle公司專門為linux平臺構建的,推測winDocker無法正確掛載資料卷應該和官方支持有點原因,建議同學們直接上手linux。

到此這篇關于Docker掛載資料卷保存MySQL數據的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Docker部署portainer的詳細步驟

    Docker部署portainer的詳細步驟

    Portainer是一個輕量級的docker環(huán)境管理UI,可以用來管理docker宿主機和docker swarm集群,今天通過本文給大家介紹Docker部署portainer的步驟,感興趣的朋友一起看看吧
    2022-01-01
  • jenkins+docker+nginx+nodejs持續(xù)集成部署vue前端項目

    jenkins+docker+nginx+nodejs持續(xù)集成部署vue前端項目

    本文主要介紹了jenkins+docker+nginx+nodejs持續(xù)集成部署vue前端項目,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 在windows下的安裝Docker的教程

    在windows下的安裝Docker的教程

    這篇文章主要介紹了在windows下的安裝Docker的教程,注意只能是64的系統(tǒng),需要的朋友可以參考下
    2015-12-12
  • Docker安裝Nginx容器配置及重新生成鏡像圖文教程

    Docker安裝Nginx容器配置及重新生成鏡像圖文教程

    Docker是一個用于開發(fā),交付和運行應用程序的開放平臺,Docker使您能夠將應用程序與基礎架構分開,從而可以快速交付軟件,下面這篇文章主要給大家介紹了關于Docker安裝Nginx容器配置及重新生成鏡像的相關資料,需要的朋友可以參考下
    2023-05-05
  • Docker Compose的安裝和使用步驟

    Docker Compose的安裝和使用步驟

    Docker Compose是一個工具,用于定義和運行多容器應用程序的工具,接下來通過本文給大家分享Docker Compose的安裝和使用教程一起看看吧
    2021-09-09
  • 部署維護docker環(huán)境的詳細教程

    部署維護docker環(huán)境的詳細教程

    這篇文章主要介紹了部署維護docker環(huán)境的詳細教程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • Docker 使用nsenter工具進入容器的操作

    Docker 使用nsenter工具進入容器的操作

    這篇文章主要介紹了Docker 使用nsenter工具進入容器的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker 教程之基本概念(鏡像,容器,倉庫)詳解

    Docker 教程之基本概念(鏡像,容器,倉庫)詳解

    這篇文章主要介紹了Docker 教程之基本概念(鏡像,容器,倉庫)詳解的相關資料,這里對Docker 的基本知識做一個介紹,需要的朋友可以參考下
    2016-12-12
  • docker 安裝ElasticSearch 6.x的教程詳解

    docker 安裝ElasticSearch 6.x的教程詳解

    這篇文章主要介紹了docker 安裝ElasticSearch 6.x的教程,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-04-04
  • docker磁盤空間不足的解決辦法

    docker磁盤空間不足的解決辦法

    linux的磁盤空間掛載后,需要遷移一下docker 鏡像原本的位置,因此有此實踐,分享操作過程,文章通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下
    2023-11-11

最新評論