Hướng dẫncontainer hóa - Ví dụ 1 - Khởi động một wiki chia sẻ trong 1 phút

Yêu cầu cơ bản

  • Docker - một công cụ mạnh mẽ và dễ sử dụng
  • Sơ đồ Markdown - cấu trúc dễ hiểu

Quá trình xây dựng cơ bản

Khởi tạo và cấu hình thư mục ban đầu

Thực thi các lệnh sau để bắt đầu:

# Tạo một thư mục làm việc (tốt nhất là thư mục git để dễ dàng upload)
mkdir wiki_container && cd wiki_container

# Tạo và clone dự án từ Git
git clone https://test.dfly.com/shuaige/gitbook.git && cd gitbook

# Thực hiện khởi tạo
docker run --rm -v "$PWD:/wiki_container" -p 8080:8080 billryan/gitbook gitbook init

Sau khi thực hiện xong, sẽ tạo ra hai file:

  • README.md - Trang chủ mặc định
  • SUMMARY.md - Cấu trúc menu sidebar

Cấu trúc thư mục đề xuất

wiki_container/
├── README.md
├── SUMMARY.md
└── docs/
    ├── bai_viet1/
    │   ├── bai_viet1.md
    │   └── bai_viet1_1.png
    └── bai_viet2/
        ├── bai_viet2.md
        └── bai_viet2_1.png

Cấu trúc trang chủ và menu navigation

Trang chủ README.md

# Cách đọc Wiki này

## Nội dung bao gồm
- Tóm tắt của mỗi bài viết
- Phân loại rõ ràng để tra cứu dễ dàng

## Hướng dẫn tìm kiếm
- Sử dụng phím tắt Ctrl + F để tìm kiếm nhanh
- Tìm kiếm trực tiếp từ thanh tìm kiếm ở góc trái

## Bài viết đáng chú ý
| Tên bài viết | Mô tả |
| :----------- | :--- |
| [Ảnh lung linh](./docs/bai_viet1/bai_viet1.md) | Chia sẻ những hình ảnh tuyệt đẹp |
| [Cảnh đẹp](./docs/bai_viet2/bai_viet2.md) | Collection những phong cảnh thiên nhiên |

SUMMARY.md - Cấu trúc sidebar

# Menu chính

- [Trang chủ Wiki](README.md)
- [Ảnh lung linh](./docs/bai_viet1/bai_viet1.md)
- [Cảnh đẹp](./docs/bai_viet2/bai_viet2.md)

Quá trình sản xuất và triển khai

Khởi động server web để xem và chỉnh sửa

# Bắt đầu server
docker run --rm -v "$PWD:/wiki_container" -p 8080:8080 billryan/gitbook gitbook serve

# Truy cập qua trình duyệt:
# http://localhost:8080

Tạo file tĩnh

# Tạo file tĩnh
docker run --rm -v "$PWD:/wiki_container" -p 8080:8080 billryan/gitbook gitbook build

File tĩnh sẽ được tạo ra trong thư mục _book:

wiki_container/
└── _book/
    ├── index.html
    └── các file tĩnh khác

Cấu hình Nginx để phục vụ static

location /wiki_container {
    root /wiki_container/_book;
    index index.html;
}

Thẻ: docker Markdown nginx hướng dẫncontainer hóa

Đăng vào ngày 24 tháng 5 lúc 16:05