詳解使用Docker部署MySQL(數(shù)據(jù)持久化)
本文簡述如何使用Docker部署mysql,同時持久化數(shù)據(jù).我們會用到tutum-docker-mysql 這個項目來搭建一個mysql,省去重頭寫Dockerfile的時間.
首先我們將tutum-docker-mysql跑起來.
docker run -d -p 3306:3306 --name mysql tutum/mysql
如果你本地沒有tutum/mysql的image,docker會先下載它的image,這一步可能會用些時間.待執(zhí)行完畢我們檢查一下應(yīng)該會有如下樣子
tutum-docker-mysql會自動幫我們建一個隨機的密碼供我們訪問,通過日志可以查看到.
我們通過日志上的密碼登陸mysql
mysql -uadmin -pi6k5USp9Km9G -h127.0.0.1
理論上我們這個時候就登陸mysql成功了,你可以創(chuàng)建一個庫,一個張表,然后退出.但是當(dāng)這個container停止再重啟后,你的數(shù)據(jù)就丟了. 如何使你的數(shù)據(jù)真的被保存下來呢?
解決方案就是:掛載一個本地文件到Container (Mount a local folder from the host on the container to store the database files).
首先我們停掉之前的Container
docker stop mysql
我們指定一個本地可以掛載的路徑,重新啟動tutum-docker-mysql.我們指定/home/walter/softwares/tutum-docker-mysql/data 掛到Container里的/var/lib/mysql目錄(-v Bind mount a volume). 這樣子我們就可以將數(shù)據(jù)持久化在主機(Host)的目錄中了.
sudo docker run -d -p 3306:3306 -v /home/walter/softwares/tutum-docker-mysql/data:/var/lib/mysql -e MYSQL_PASS="mypass" tutum/mysql
我們在上面啟動的時候順便指定了創(chuàng)建密碼為mypass,我們現(xiàn)在登陸一下mysql創(chuàng)建一些數(shù)據(jù),看看會不會被保存下來
shell>mysql -uadmin -pmypass -h127.0.0.1 mysql>create database test;
退出mysql,重啟Container,我們發(fā)下我們做的操作將會被保留下來.我們之后每一次啟動這個mysql都可以使用下面的命令
docker run -d -p 127.0.0.1:3306:3306 -v /home/walter/softwares/tutum-docker-mysql/data:/var/lib/mysql tutum/mysql
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker?save與docker?export的區(qū)別
docker?save和docker?export都能導(dǎo)出鏡像包,本文主要介紹了docker?save與docker?export的區(qū)別,試圖搞清楚docker?save和docker?export的功能是什么?適用于什么應(yīng)用場景?感興趣的可以了解一下2022-03-03docker 實現(xiàn)容器與宿主機無縫調(diào)用shell命令
這篇文章主要介紹了docker 實現(xiàn)容器與宿主機無縫調(diào)用shell命令的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨想過來看看吧2021-03-03通過Docker創(chuàng)建CentOS容器的實現(xiàn)步驟
本文主要介紹了Docker創(chuàng)建CentOS容器,使用文內(nèi)的腳本可以快速創(chuàng)建CentOS 7.8虛擬系統(tǒng)集群,并通過SSH(Secure Shell)遠程工具連接,感興趣的可以了解一下2021-11-11docker?搭建?vulhub?靶場環(huán)境的詳細過程
Vulhub是一個基于docker和docker-compose的漏洞環(huán)境集合,進入對應(yīng)目錄并執(zhí)行一條語句即可啟動一個全新的漏洞環(huán)境,讓漏洞復(fù)現(xiàn)變得更加簡單,讓安全研究者更加專注于漏洞原理本身,這篇文章給大家介紹docker?搭建?vulhub?靶場環(huán)境的過程,感興趣的朋友一起看看吧2022-08-08Docker swarm如何通過docker-compose部署應(yīng)用
這篇文章主要介紹了Docker swarm如何通過docker-compose部署應(yīng)用問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02