成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL 進行 Docker 容器化之體驗與感悟

數據庫 MySQL 前端
Docker 的使用原則是所有容器化的應用程序都應該是無狀態的 ,即容器內部只跑業務邏輯,容器應用的所有配置文件、日志文件和持久化數據 都應該掛載到宿主機文件系統,不應該存儲在容器內部,以免容器被誤刪或自身出現問題導致數據丟失。

 原則

Docker 的使用原則是所有容器化的應用程序都應該是無狀態的 ,即容器內部只跑業務邏輯,容器應用的所有配置文件、日志文件和持久化數據 都應該掛載到宿主機文件系統,不應該存儲在容器內部,以免容器被誤刪或自身出現問題導致數據丟失。

[[275459]]

MySQL 容器化方式

MySQL 屬于有狀態應用,若將其容器化需將其狀態抽離到宿主機,其配置文件、日志文件和持久化數據都應該掛載到宿主機。

容器內各路徑

通過docker pull 命令拉取下來的官方 MySQL 鏡像內,有幾個重要路徑:

  • 配置文件
  • 鏡像內 MySQL 的配置文件路徑為/etc/mysql ,路徑下包含my.cnf 配置和一個conf.d 文件夾,my.cnf 文件內是一些base setting ,我們自定義的配置應該寫在conf.d 文件夾下的配置文件里,從而覆蓋base setting 。conf.d 文件夾下默認有兩個配置文件:docker.cnf 和mysql.cnf ,在后文所講的掛載配置路徑到宿主機之后,應將這兩個用戶自定義配置文件拷貝到宿主機配置路徑下。
  • 持久化數據
  • 鏡像內 MySQL 的持久化數據均存儲在/var/lib/mysql 下。

命令

  1. $ docker run \ 
  2.  --name db \ 
  3.  -e MYSQL_ROOT_PASSWORD=secret \ 
  4.  -v /path/to/confdir:/etc/mysql/conf.d \ 
  5.  -v /path/to/datadir:/var/lib/mysql \ 
  6.  -d 
  7.  mysql:tag 

參數解釋

  • --name 容器名稱
  • -e 為新容器設置環境變量,容器內 MySQL 會以此初始化 root 用戶密碼
  • -v 兩個-v 參數分別將容器內 MySQL 的自定義配置文件目錄和持久化數據目錄掛載到宿主機,冒號前為宿主機目錄,后為容器內目錄
  • -d 后臺啟動容器

小技巧

我們可以在宿主機專門建立一個目錄用來存放容器狀態數據,層級結構為:

  1. docker-container-data 
  2.  | 
  3.  - container1 
  4.  | | 
  5.  | - conf 
  6.  | | 
  7.  | - logs (其下又可以細分路徑) 
  8.  | | 
  9.  | - data 
  10.  | 
  11.  - container2 
  12.  | 
  13.  - container3 
  14.  | 
  15.  ... 

災難措施

將狀態數據掛載宿主機的好處就是如果容器發生問題,可以啟動一個新容器并將容器狀態路徑掛載到宿主機上的原狀態路徑,從而恢復生產。

可以直接將新啟動的 MySQL 容器的配置和持久化數據掛載到之前容器的宿主路徑,新容器便可以無縫恢復數據(配置、用戶、庫、表、記錄均恢復)。

注意事項

不可以將兩個均在運行的容器的狀態路徑掛載到同一個宿主路徑 ,兩個容器同時在一個宿主路徑下寫狀態,容器應用讀取狀態時會無法識別,導致崩潰。

若新啟動的容器要掛載之前容器的宿主數據路徑,則會忽略-e MYSQL_ROOT_PASSWORD=foo 命令參數所設定的 root 用戶密碼環境變量,因為掛載的數據路徑下已經包含了 MySQL 用戶信息表,而 root 用戶的密碼之前已經被設定過了。

責任編輯:華軒 來源: segmentfault
相關推薦

2024-09-06 12:28:48

2024-09-19 08:49:13

2015-07-28 11:10:22

Docker容器容器編排

2014-06-23 09:11:01

2022-03-10 08:24:17

Docker容器SaaS

2021-03-05 00:06:12

Docker容器內存

2023-05-30 14:56:18

Docker開發容器

2015-08-12 15:57:40

2019-11-13 14:43:12

容器云平臺軟件

2019-12-12 10:58:37

Docker容器引擎

2020-05-20 12:30:44

容器Linux系統

2023-10-16 09:34:34

Docker區塊鏈

2020-01-02 10:34:32

Linux虛擬化Docker

2015-08-19 14:54:25

2021-12-25 23:25:04

LinuxDocker容器

2020-12-03 09:50:52

容器IoC流程

2022-08-01 07:27:36

JavaDocker容器

2023-08-29 15:17:40

Docker容器架構

2023-11-03 18:01:59

Docker開源平臺

2014-11-27 09:59:02

dockerlinux技巧
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色婷婷精品国产一区二区三区 | 免费一级片 | 天色综合网| 青草视频在线 | 国产视频久久 | 欧美xxxx黑人又粗又长 | 久久久亚洲 | www.狠狠干| 在线色网 | 欧美精品区 | 欧美色视频免费 | 精品一二区 | 亚洲精品国产偷自在线观看 | 成人一级黄色毛片 | 在线91 | 91精品国产一区二区 | 国产99久久| 国产精品久久久久久一区二区三区 | 成人在线观看中文字幕 | 欧美美乳| 亚洲视频免费在线观看 | 一级电影免费看 | 精品免费av | 国产精品亚洲一区二区三区在线 | 欧美精品一区二区三区蜜桃视频 | h视频在线播放 | 久久久久久久久久久丰满 | 99国产精品99久久久久久 | 国产精品久久久久久高潮 | 成人一区二 | www日韩高清| 日韩视频一区二区在线 | 日本高清视频网站 | 色频| 亚洲综合天堂网 | 久久成人一区二区三区 | 欧美日韩福利 | 欧美精品在线播放 | 视频羞羞| 欧美第一区 | 午夜理伦三级理论三级在线观看 |