Docker compose с постоянными данными MySQL

Thank you for reading this post, don't forget to subscribe!

Docker предо­став­ля­ет вам воз­мож­ность сохра­нять фай­лы базы дан­ных посто­ян­ны­ми на томах Docker или хра­нить фай­лы непо­сред­ствен­но на хост-компьютере.

Исполь­зуй­те один из при­ве­ден­ных ниже вари­ан­тов, что­бы сохра­нить посто­ян­ную сохран­ность дан­ных MySQL даже после вос­со­зда­ния или уда­ле­ния кон­тей­не­ров Docker.

Вариант 1. Хранение данных MySQL на томах Docker

Тома Docker явля­ют­ся пред­по­чти­тель­ным меха­низ­мом Docker для хра­не­ния посто­ян­ных дан­ных контейнеров.

Вы може­те лег­ко создать том Docker на сво­ем хост-ком­пью­те­ре и под­клю­чить его к кон­тей­не­рам Docker.

docker-compose.yml:

[codesyntax lang="php"]

[/codesyntax]

При­ве­ден­ная выше кон­фи­гу­ра­ция опре­де­ля­ет один том дан­ных с име­нем «dbdata», кото­рый под­клю­чен к кон­тей­не­ру MySQL и смон­ти­ро­ван в ката­ло­ге /var/lib/mysql.

Это ката­лог по умол­ча­нию, исполь­зу­е­мый MySQL для хра­не­ния всех фай­лов данных.

Затем выпол­ни­те коман­ду пока­зан­ную ниже, что­бы запу­стить кон­тей­нер Docker.


Вывод:

Вы може­те про­смот­реть тома Docker, выпол­нив команду:

Вариант 2 — Хранение данных MySQL на хост-машине

Мы реко­мен­ду­ем исполь­зо­вать том docker вме­сто раз­ме­ще­ния фай­лов на хост-машине.

Но, если хоти­те, вы може­те хра­нить фай­лы базы дан­ных и на хост-машине.

В любом слу­чае когда Docker-кон­тей­нер завер­ша­ет­ся, вы може­те пере­за­пу­стить кон­тей­нер, исполь­зуя суще­ству­ю­щие фай­лы данных.

Создай­те ката­лог для хра­не­ния ваших фай­лов дан­ных MySQL.

Я создаю струк­ту­ру каталогов:

Затем настрой­те docker-compose.yml для исполь­зо­ва­ния ./data/db в каче­стве тома для хра­не­ния всех фай­лов, создан­ных сер­ве­ром MySQL.
Затем создай­те compose файл в теку­щем каталоге.

docker-compose.yml:

[codesyntax lang="php"]

[/codesyntax]

После созда­ния фай­ла про­сто запу­сти­те при­ве­ден­ную ниже коман­ду, что­бы запу­стить контейнер.

Вывод:

В этом слу­чае кон­тей­нер MySQL созда­ет все фай­лы на хост-ком­пью­те­ре в ката­ло­ге ./data/db.
Что­бы про­смот­реть эти фай­лы, про­сто запу­сти­те коман­ду, пока­зан­ную ниже.