Use Docker to Start Hexo

Motivation

看過 Docker Hub 幾個 hexo 的 image,發現蠻多都是個人用的,裡面包含了許多不需要用的環境變數或是設定,有些甚至不是 Automated build,連 Dockerfile 都沒有。有鑒於我自己也常常忘記之前用過的指令,詳細的 README.md 也是必要的!

Source Code

https://github.com/RammusXu/docker-hexo

https://hub.docker.com/r/rammusxu/docker-hexo/

Troubleshooting

無法正確執行 ./docker-entrypoint.sh

docker-entrypoint.sh 的開頭必須是

#!/bin/sh

無法正確 deploy

因為 nodes:6.11-alpine 沒有裝 git,所以要使用 boron,才有比較完整的工具可以使用。

FROM node:boron

Reference

Install Docker in CentOS 6

更新 yum 並加入 EPEL 套件庫

yum update -y
wget http://mirror01.idc.hinet.net/EPEL/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

安裝 docker

yum install docker-io -y

會遇到以下問題

[root@ip-10-0-3-202 prod-user]# docker ps
Get http:///var/run/docker.sock/v1.19/containers/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

解決方法

yum install yum-conf-sl6x
yum-config-manager –enable public_ol6_latest
yum install device-mapper-event-libs -y

讀書心得 - 敏捷與 Scrum 軟體開發速成

Image from: https://www.books.com.tw/

用費式數列估算 Story : 1,2,3,5,8,13

因為一個二樓一個三樓的房子雖然容易比較,但53樓和57樓的大樓不容易比較。

User Story應該這樣寫

作為<某類使用者>
我想<做某事>
這樣就能<創造出某些價值>

---
Example:

As a User
I want to post a article
So that everyone can read my article

Scurm Board

Todo List 可以有 Story, Task (Todo), Ongoing, Done
也可以自行刪減增加項目, ex. Test, Checked, Reviewed

估算所有 Story 可以先由小到大,從左至右排出,每個人再提供意見決定往左或往右移。最後再擺上故事點的卡片,如果有意見也可以再調整 Story 的左右位置。這樣就能歸類所有 Story 的故事點。

TDD (Test-Driven Development)

  • Test Case -> Failure
  • Test Case -> Success
  • Refactor

Docker - 用 Windows 架設 Wordpress 的坑

使用 docker-compose 啟動 wordpress,以下介紹幾個幾本用法。

  • 執行當前目錄的 docker-compose.yml

    docker-compose up
  • 在背景執行當前目錄的 docker-compose.yml

    docker-compose up -d
  • 根據當前目錄的 docker-compose,結束相關的容器(container)。

    docker-compose down

暸解幾種基本的 docker-compose 用法後,現在就來撰寫 wordpress 的 docker-compose.yml

version: '2'

services:
db:
image: mysql:5.7
volumes:
- "./.data/db:/var/lib/mysql"
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- "./web:/var/www/html"
links:
- db
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress

Read More