首先我們將tutum-docker-mysql跑起來.
docker run -d -p 3306:3306 --name mysql tutum/mysql
如果你本地沒有tutum/mysql的image,docker會先下載它的image,這一步可能會用些時間.待執行完畢我們檢查一下應該會有如下樣子
tutum-docker-mysql會自動幫我們建一個隨機的密碼供我們訪問,通過日誌可以查看到.
我們透過日誌上的密碼登陸mysql
mysql -uadmin -pi6k5usp9km9g -h127.0.0.1
理論上我們這個時候就登陸mysql成功了,你可以創建一個庫,一個張表,然後退出.但是當這個container停止再重啟後,你的數據就丟了. 如何使你的數據真的被保存下來呢?
解決方案就是:掛載一個本地文件到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). 這樣子我們就可以將資料持久化在主機(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
我們在上面啟動的時候順便指定了創建密碼為mypass,我們現在登陸一下mysql創建一些數據,看看會不會被保存下來
shell>mysql -uadmin -pmypass -h127.0.0.1 mysql>create database test;
退出mysql,重啟container,我們發下我們做的操作將會被保留下來.我們之後每一次啟動這個mysql都可以使用下面的命令
docker run -d -p 127.0.0.1:3306:3306 -v /home/walter/softwares/tutum-docker-mysql/data:/var/lib/mysql tutum/mysql
以上是如何使用Docker部署MySQL的詳細內容。更多資訊請關注PHP中文網其他相關文章!