(三)Docker 應用的部署——以mysql爲例

一、mysql部署

部署步驟:

  • 搜索mysql鏡像
  • 拉取mysql鏡像
  • 創建容器
  • 操作容器中的mysql

但是在這裏我們有個疑問,我們之前說過:容器內的網絡服務,和外部機器不能直接通訊

外部機器智能和宿主機通訊,不能直接和容器通訊

我們在這裏把宿主機的3307和容器的3306做一個映射

做完映射之後,訪問的路徑就會變成下圖:訪問宿主機的3307就相當於訪問容器的3306端口。這裏的做法和路由器端口映射很相似。

知道了方法和思路之後,我們現在開始操作。

首先查看我現在的鏡像

如果你沒有的話,可以通過

搜索鏡像

docker search mysql   #搜索mysql鏡像

拉取鏡像

docker pull mysql :5.6   #拉取mysql鏡像5.6

創建容器

在/root目錄下創建mysql目錄用於存儲mysql數據信息

mkdir ~/mysql    #root家目錄創建mysql
cd ~/mysql       #進入mysql

docker run -id \   #啓動一個容器
-p 3307:3306 \     #映射宿主機3307到此容器的3306
--name=c_mysql \   #給容器起個名字
-v $PWD/conf:/etc/mysql/conf.d \    #將主機/root/mysql目錄下的conf/my.cnf掛載到容器的/etc/mysql/my.cnf,此爲配置目錄
-v $PWD/logs:/logs \                #將當前目錄下的logs目錄掛載到容器的logs目錄,此爲日誌目錄
-v $PWD/data:/var/lib/mysql \       #將當前目錄data目錄掛載到容器的/var/lib/mysql,此爲數據存儲目錄
-e MYSQL_ROOT_PASSWORD=123456 \     #初始化root密碼爲123456
mysql5.6

註釋:

  • \ 是換行,讓大家看的清楚。
  • -p 3307:3306 之所以設置的不同是我們學習階段讓大家看得清楚,生產中必須是一致的-p 3306:3306
  • $PWD是簡寫其實就是當前路徑,在這裏做了一個簡寫,調用了一下系統變量$PWD。

如圖創建成功,我們先本地登入mysql,試試有沒有問題

外部登錄

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章