1. 程式人生 > 程式設計 >docker實戰之極速搭建ghost個人部落格

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進入後臺管理系統進行配置,這裡就不多說了。

總結

未完待續