国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Mac OS > 正文

在Mac OS下使用docker構建基于node的博客程序hexo

2020-10-18 13:14:55
字體:
來源:轉載
供稿:網友

截止目前為止,在docker hub上還看不到hexo 3+版本的鏡像構建。
由于Node環境的安裝時間比較長,對于電腦比較多的人相對來說還是比較麻煩的。
基于DockerFile構建自己的HEXO環境非常靈活,可以根據自己的情況進行定制。
可以導入導出復制環境部署到其他電腦中。
實踐開始
docker安裝
大部分Linux,比如說Ubuntu,Debian都可以通過如下命令安裝:

curl -sSL https://get.daocloud.io/docker | sh
TIP:別忘了配置好DaoCloud加速,不然構建速度很慢。

構建

復制代碼
代碼如下:

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請注意,現在最簡潔的三個包內容為:

git,部署的時候用(如果不用git部署請去掉)。
ssh-client(ssh方式的git部署依賴)。
ca-certificates(https方式的git部署依賴)。
TIP: 在shell中或者lib中調用https方式通訊的時候如果報錯

復制代碼
代碼如下:

Problem with the SSL CA cert (path? access rights?)

可以通過安裝包:ca-certificates 來解決問題,yum apt中都是如此。

構建時間大概十幾分鐘完成。

準備把實體機(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存儲的位置。

注意參數/root/blog/需要使用絕對路徑

其他的參數可以很容易的在manual中找到意義。

備份與還原

復制代碼
代碼如下:

#docker save hexo3 > /root/hexo3.tar
#docker load < /root/hexo3.tar

注意這里使用save而不是export 因為需要保存歷史層

參考導出大小:

復制代碼
代碼如下:

du -h /root/hexo3.tar
261M/root/hexo3.tar

從以上所有的工作中,對比虛擬機進行環境的構建打包,docker具有構建環境時間更短,打包文件更小的特點。

使用容器操作blog

復制代碼
代碼如下:

docker exec -it hexo /bin/bash

Tip: 雖然做到了用docker構建一個非常方便移植的hexo環境,但是運行命令hexo的時候有點慢,但不是那種忍受不了的慢。

小技巧
在調試的時候可以使用 docker rm $(docker ps -q -a) 一次性刪除所有的容器,docker rmi $(docker images -q) 一次性刪除所有的鏡像。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和龙市| 宁陕县| 恩施市| 永登县| 白玉县| 福清市| 白山市| 汉川市| 武宁县| 旌德县| 焦作市| 丹寨县| 鄂托克旗| 阳春市| 咸丰县| 常宁市| 惠水县| 淳化县| 奎屯市| 新闻| 南雄市| 石台县| 抚顺市| 沁水县| 广南县| 新建县| 苏州市| 万年县| 宁明县| 台北市| 霍山县| 巧家县| 泾阳县| 开远市| 昭通市| 沈丘县| 久治县| 通榆县| 天全县| 福建省| 通海县|