Docker 容器構建
- 使用Dockerfile構建鏡像
- 使用官方提供的Docker鏡像
所謂Dockerfile
Dockerfile是一種被Docker程序解釋的腳本葵礼,Dockerfile由一條一條的指令組成慰丛,每條指令對應Linux下面的一條命令。Docker程序將這些Dockerfile指令翻譯真正的Linux命令。Dockerfile有自己書寫格式和支持的命令,Docker程序解決這些命令間的依賴關系,類似于Makefile。Docker程序將讀取Dockerfile狮辽,根據指令生成定制的image。相比image這種黑盒子巢寡,Dockerfile這種顯而易見的腳本更容易被使用者接受喉脖,它明確的表明image是怎么產生的。有了Dockerfile抑月,當我們需要定制自己額外的需求時树叽,只需在Dockerfile上添加或者修改指令,重新生成image即可谦絮,省去了敲命令的麻煩题诵。
不過這里只介紹Dockerfile構建容器的步驟,接下來的文章都是以第二種方式, 使用官方提供的Docker鏡像來部署层皱。
下載MySQL官方提供的Docker鏡像
$ docker pull mysql:tag
:tag 是你想從官方拉取的版本(例如5.5, 5.6, 5.7 或者latest )性锭。如果省略 tag 則拉取當前最新的版本, 即latest。
可以使用以下的命令列出下載Docker鏡像:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 dd0afb9bc4a9 3 days ago 408MB
mysql latest dd0afb9bc4a9 3 days ago 408MB
啟動MySQL服務器
$ docker run --name=mysql -e MYSQL_ROOT_PASSWORD=root -v /app/mysql:/var/lib/mysql -d mysql
--name=mysql
這個屬性是為啟動的MySQL容器設置一個別名
-d
以守護進程方式運行 (后臺運行)
-e MYSQL_ROOT_PASSWORD
在啟動MySQL的時候設置密碼,這里密碼以root演示
-v /app/mysql/:/var/lib/mysql
通過Volume把容器內的文件映射到物理機
查看MySQL的日志
$ docker logs mysql
連接MySQL服務器
$ docker exec -it mysql mysql -u root -p
提示輸入密碼的時候叫胖,輸入剛剛創(chuàng)建的時候指定的密碼就ok了〔莞裕現在你就能隨意使用的MySQL服務器咯。
修改 MySQL密碼:$ ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
容器管理
$ docker restart mysql
$ docker stop mysql
$ docker start mysql
$ docker rm mysql
注意臭家,當你想要使用docker rm mysql
之前疲陕,請記得先停止容器(docker stop mysql)的運行方淤。