docker實戰之極速搭建ghost個人部落格
前言
初衷
最近深入學習了大火的docker容器,想要做一個小專案練練手,剛剛想把之前自己搭的部落格小站升級為更加geek。因此就要了這一次從無到有的極速搭建ghost部落格教程。
為什麼使用docker
docker可真是一個令人驚歎的技術。以往搭建ghost部落格或者其他部落格站點,有極其複雜的步驟和眾多意向不到的阻礙,簡單說就是學習曲線陡,而使用了docker容器技術,把別人的映象拿來改造改造,秒搭個人部落格
為什麼ghost
因為geek,:)
總體架構
一共分為兩個容器,一個是部落格服務的ghost容器,另一個就是mysql資料庫映象
步驟
建立自定義網路
docker network create ghost_blog_dev
docker中自定義bridge網路會有DNS功能,後面ghost容器連線mysql容器可以通過容器名連線而不是IP地址。
建立mysql資料儲存目錄
mysql容器銷燬後,產生的資料也會銷燬。因此我們得把資料卷存放到宿主機上,因此先建立資料目錄。
mkdir -p /data/blog/
複製程式碼
啟動mysql容器
docker run -d --name mysql -v /data/blog/:/var/lib/mysql --network ghost_blog_dev -e MYSQL_ROOT_PASSWORD=123456 mysql
複製程式碼
值得注意得是,-v,指定資料卷的目錄,--network指定連線的網路,--name,指定mysql容器名。
docker logs mysql
,觀察一下日誌檢視,容器是否啟動成功。
連線到mysql
檢視到mysql容器的ip
docker network inspect ghost_blog_dev
複製程式碼
在宿主機上連線mysql,密碼是123456
修改使用者root登陸auth為native,因為ghost容器那邊不支援mysql 8.0的登陸驗證方式。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
複製程式碼
建立ghost資料庫(表名會由ghost容器自動建立)
create database ghost;
複製程式碼
構建ghost映象
從我的github上拉取已經寫好的映象,並構建為ghost:dev映象名
docker build -t ghost:dev https://github.com/jiujiujiujiujiuaia/ghost_Dockerfile.git
複製程式碼
啟動ghost映象
--name指明容器名,--network指明連線的網路,--url指明ghost網站的連線域名(沒有域名的指定ip),-p指明瞭宿主機和容器間的埠對映關係
docker run -d --name blog --network ghost_blog_dev -e url=http://118.24.145.98 -p 80:2368 ghost:dev
複製程式碼
通過docker logs可以看到,容器已經啟動成功,並在我們ghost資料庫內建立了需要的資料表
同時,在宿主機的資料目錄下,也可以看到容器產生的資料持久化到了宿主機中。
訪問部落格!
有了上面的步驟,部落格搭建就完成了!不需要了解複雜的軟體安裝,軟體工具安裝,各種配置,一切都是拉取映象,啟動容器,bingo!完成!
訪問部落格!
關於部落格的配置,可以通過url+/ghost進入後臺管理系統進行配置,這裡就不多說了。
總結
未完待續