---------------------------------------------------------------------------------html
環境:win7+Boot2dockermysql
一、下載鏡像,從國內鏡像DaoCloud下載速度很是快,若是鏈接到官網的話超級慢並且還可能最後失敗,我是中國電信的網試的,下載了近2小時,最後告訴我失敗,氣死我了。用以下語法:nginx
docker pull daocloud.io/mysql:5.6
下載過程以下圖所示:git
二、運行容器,用以下命令:github
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-password -d -p 3316:3306 daocloud.io/mysql:5.6
2.一、 --name my-mysql,表示給這個容器起個名字,就像給人起個名字同樣,後續想對這個容器操做均可以用這個名字。sql
2.二、 -e MYSQL_ROOT_PASSWORD=my-password ,表示給root帳號設置一個密碼,後續鏈接時要用到此密碼docker
2.三、 -p 3316:3306 daocloud.io/mysql:5.6,表示將容器的3306端口映射到主機的3316端口上,這樣能夠經過操做主機的端口控制mysql容器了。注:我這裏故意將主機的端口和容器的端口設置成不同的,這樣能夠清晰的看出哪一個是主機的,哪一個是容器的shell
2.四、 -d表示在後臺運行,不會顯示啓動的詳情。ubuntu
容器啓動後,成功的截圖以下:wordpress
三、 用查詢分析器鏈接看下
Ip:192.168.99.100 用戶名:root 密碼:my-password 端口:3316
鏈接成功,見下圖
---------------------------------------------------------------------------------
0、 爲啥下載鏡像時要加個前綴daocloud.io,這是由於不加默認是從官方倉庫中下載的,這個太慢了,因此要用國內開源的鏡像,速度很是快
一、明明啓動成功 ,可是telnet localhost 3316卻始終失敗
解答:這個問題困惑了我2天,原來起Docker時有2種方式:一種是直接安裝Docker軟件,一個是利用一個代理,之因此用代理,是由於操做系統版本太老,才用這招的。因此,當docker mysql啓動時,鏈接的IP地址應該是這個代理的ip。這裏要佩服一下老外,這個問題也是老外給解決的,參考連接
1.一、 那如何拿到代理的Ip呢?
答:運行docker-machine ip便可。
二、爲啥配置文件捆綁就出錯
docker run -p 3306:3306 --name mymysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
形如這種格式的命令,由於綁定了my.cnf文件,一直提示not a directory,媽的,不知道啥狀況,最後無可奈何纔將my.cnf映射去掉纔好。
三、配置ubuntu,nginx這些還要持續研究(延伸:有沒有一個地方能夠查閱出全部軟件安裝的指令)
docker ps -- 列出正在運行的容器
docker ps -a -- 列出全部已中止的容器
docker rm <name> --刪除一個容器(注意:正在運行的不能刪除)
docker stop/start/restart <name> --關閉/啓動/重啓,很少說了,
注意到:若是要重啓一個啓動過的容器,直接用docker start,而不是再用docker run.
docker-machine ls --列出全部的docker代理
docker-machine ip <name> --列出指定名稱的代理ip,如docker-machine ip default.
注意到:這裏直接輸docker-machine ip也能夠
DaoCloud自帶的mysql安裝教程 須要註冊,才能登陸進去(在發現鏡像裏面),見下圖
第一次用docker就上手 一個大胖子網友寫的,他這個仍是蠻簡潔的
---
注意到:若是想再起一個boot2docker的shell,直接在Mac應用程序中單擊boot2docker便可