服務計算 第十七週
在docker上部署MySql實現StarWarsAPI
1 主要內容
本次實驗在
StarWars
原有的基礎上進行,我仍然負責同樣的部分:後端數據庫。
上一次實驗鏈接
2 基本介紹
大致功能與之前一樣,但是使用了三個容器來包裝前端、後端API、後端數據庫。
本博客前半部分介紹了docker的部署以及docker上MySql的部署;後半部分介紹了MySql的實現。
3 部署Docker及MySql
3.1 安裝Docker
首先,安裝docker
sudo yum install docker-engine
開啓docker服務
service docker start
3.2 部署MySql
獲取最新的MySql鏡像(也可以不獲取,這樣在部署的時候會自動獲取)
sudo docker pull mysql/mysql-server:latest
生成MySql容器
sudo docker run --name mysql -d --restart always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /docker/mysql_data:/var/lib/mysql mysql/mysql-server
各參數屬性的意義:
--name mysql
:名稱mysql;-d:後臺運行容器,並返回容器ID;–restart always:容器退出時重啓容器;-p 3306:3306:將宿主機的3306端口映射到容器的3306端口;-e MYSQL_ROOT_PASSWORD=123456:設置mysql的root密碼爲123456;-v /docker/mysql_data:/var/lib/mysql:將宿主機的目錄/docker/mysql_data映射到容器的目錄/var/lib/mysql,以存放容器的mysql數據庫文件。
查看已經部署的容器:
-s
查看已經部署的容器-a
查看已經啓動的容器。
sudo docker ps -a
sudo docker ps -s