在Mac OS下使用docker構(gòu)建基于node的博客程序hexo
截止目前為止,在docker hub上還看不到hexo 3+版本的鏡像構(gòu)建。
由于Node環(huán)境的安裝時間比較長,對于電腦比較多的人相對來說還是比較麻煩的。
基于DockerFile構(gòu)建自己的HEXO環(huán)境非常靈活,可以根據(jù)自己的情況進行定制。
可以導(dǎo)入導(dǎo)出復(fù)制環(huán)境部署到其他電腦中。
實踐開始
docker安裝
大部分Linux,比如說Ubuntu,Debian都可以通過如下命令安裝:
curl -sSL https://get.daocloud.io/docker | sh
TIP:別忘了配置好DaoCloud加速,不然構(gòu)建速度很慢。
構(gòu)建
docker build -t hexo3 - < hexo3.dockerfile
hexo3.dockerfile 如下:
FROM node:slim
MAINTAINER Jianying Li <lijianying12@gmail.com>
# instal basic tool
RUN apt-get update && apt-get install -y git ssh-client ca-certificates --no-install-recommends && rm -r /var/lib/apt/lists/*
# set time zone
RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
# install hexo
RUN npm install hexo@3.0.0 -g
# set base dir
RUN mkdir /hexo
# set home dir
WORKDIR /hexo
EXPOSE 4000
CMD ["/bin/bash"]
定制自己的image請注意,現(xiàn)在最簡潔的三個包內(nèi)容為:
git,部署的時候用(如果不用git部署請去掉)。
ssh-client(ssh方式的git部署依賴)。
ca-certificates(https方式的git部署依賴)。
TIP: 在shell中或者lib中調(diào)用https方式通訊的時候如果報錯
Problem with the SSL CA cert (path? access rights?)
可以通過安裝包:ca-certificates 來解決問題,yum apt中都是如此。
構(gòu)建時間大概十幾分鐘完成。
準(zhǔn)備把實體機(host)上的文件掛載到docker中
安裝Guest Additions, 因為要使用Shared Floader。
使用命令 sudo mount -t vboxsf [sharename] [dist]來掛載共享目錄。
運行
docker run -it -d -p 4000:4000 -v /root/blog:/hexo/ --name hexo hexo3
注意路徑 /root/blog/ 是我VirtualBox 虛擬機中blog存儲的位置。
注意參數(shù)/root/blog/需要使用絕對路徑
其他的參數(shù)可以很容易的在manual中找到意義。
備份與還原
#docker save hexo3 > /root/hexo3.tar
#docker load < /root/hexo3.tar
注意這里使用save而不是export 因為需要保存歷史層
參考導(dǎo)出大小:
du -h /root/hexo3.tar
261M/root/hexo3.tar
從以上所有的工作中,對比虛擬機進行環(huán)境的構(gòu)建打包,docker具有構(gòu)建環(huán)境時間更短,打包文件更小的特點。
使用容器操作blog
docker exec -it hexo /bin/bash
Tip: 雖然做到了用docker構(gòu)建一個非常方便移植的hexo環(huán)境,但是運行命令hexo的時候有點慢,但不是那種忍受不了的慢。
小技巧
在調(diào)試的時候可以使用 docker rm $(docker ps -q -a) 一次性刪除所有的容器,docker rmi $(docker images -q) 一次性刪除所有的鏡像。
相關(guān)文章

蘋果發(fā)布 macOS 26.4.1 正式版:提升2026款MacBook網(wǎng)絡(luò)穩(wěn)定性
昨天蘋果推送了 iOS 26.4.1 和 iPadOS 26.4.1 正式版,今天蘋果又給 Mac 用戶發(fā)布了 macOS 26.4.1 正式版, macOS 26.4.1 正式版的版本號是 25E253,屬于一次小版本更新2026-04-10
升級macOS26.4后時間機器出現(xiàn)NAS備份故障:附解決辦法
部分Mac用戶升級macOS 26.4后,用戶現(xiàn)無法使用時間機器(Time Machine)將數(shù)據(jù)備份到網(wǎng)絡(luò)硬盤,系統(tǒng)反復(fù)彈出憑據(jù)錯誤提示,下面我們就來看看手動解決辦法2026-04-01
提醒用戶使用更大功率充電器! 蘋果macOS 26.4新增慢速充電器提示
如果你覺得 MacBook 充電速度不夠快,macOS 26.4 可以幫你確認(rèn)這一問題,最新的Mac系統(tǒng)更新在系統(tǒng)設(shè)置的電池板塊中新增了一項功能2026-03-26
新增MacBook Neo壁紙! 蘋果 macOS 26.4 開發(fā)者預(yù)覽版 Beta 4發(fā)布
蘋果在最新推出的 macOS Tahoe 26.4 第四個開發(fā)者測試版中,將原本隨 MacBook Neo 首發(fā)的全新多彩桌面壁紙開放給所有 Mac 機型使用2026-03-11
你可以按下某些組合鍵來實現(xiàn)通常需要鼠標(biāo)或觸控板才能完成的操作,每個 App 都有自己的快捷鍵,在一個 App 中有用的快捷鍵可能不能用于另一個 App2026-03-07
一定要知道的MAC快捷鍵(文本、網(wǎng)頁與app操作)
這里為你整理了11個非常實用且高頻的Mac快捷鍵,涵蓋了從日常操作到窗口管理的方方面面,無論你是新手還是老用戶,都能有效提升效率2026-03-07
mac一鍵最小化所有窗口快捷鍵 macOS蘋果系統(tǒng)最小化當(dāng)前窗口
Mac 沒有內(nèi)置的快捷鍵能直接一鍵最小化所有應(yīng)用程序的所有窗口,但可以通過以下幾種方法實現(xiàn)類似效果2026-03-06
效率直接翻倍! 蘋果未曾重點宣發(fā)的6個macOS隱藏功能
Mac 用戶 90% 都不知道的隱藏功能,今天我將帶你深入探索幾個我每天都在高頻使用的 macOS 隱藏神技2026-03-05
Mac系統(tǒng)怎么添加刪除和延遲啟動應(yīng)用程序?
擁有過多的登錄項會增加Mac的啟動時間并降低其性能,啟動應(yīng)用程序也可能是惡意的,因此刪除它們對于保持Mac的健康至關(guān)重要,下面我們就來看看mac刪除添加開機自啟動軟件的2026-03-03
蘋果macOS 26.4開發(fā)者預(yù)覽版 Beta 2發(fā)布:修復(fù)窗口縮小指針不跟隨問題
2026年2月24日,蘋果向注冊開發(fā)者推送macOS 26.4開發(fā)者預(yù)覽版Beta 2(內(nèi)部版本號25E5218f),本次更新距上一版Beta/RC發(fā)布僅隔7天,屬常規(guī)迭代2026-02-24





