Trang này sẽ hướng dẫn cách triển khai môi trường OI Wiki bằng Docker.
Cảnh báo
Các bước dưới đây cần thực hiện với quyền root hoặc tài khoản thuộc nhóm docker.
Kéo image OI Wiki
1234567
# Chạy một trong các lệnh sau trên máy chủ# Docker Hub (kho chính thức)
dockerpull24oi/oi-wiki
# DaoCloud Hub (kho trong nước)
dockerpulldaocloud.io/sirius/oi-wiki
# Tencent Hub (kho trong nước)
dockerpullccr.ccs.tencentyun.com/oi-wiki/oi-wiki
Tự xây dựng image
123456
# Chạy trên máy chủ# Clone repo Git
gitclonehttps://github.com/huythedev/K23OJ-OI-wiki.git
cdOI-wiki/
# Xây dựng image
dockerbuild-t[name][:tag].--build-arg[variable1]=[value1][variable2]=[value2]...
(Bắt buộc) Đặt [name] làm tên image, (tùy chọn) đặt [tag] làm tag (nếu có tag thì tên image sẽ gồm hai phần).
Có thể dùng tham số --build-arg để truyền biến môi trường.
Các biến môi trường có thể sử dụng:
Có thể đặt WIKI_REPO để dùng mirror repo Wiki (nếu không đặt sẽ mặc định dùng GitHub).
Có thể đặt PYPI_MIRROR để dùng mirror PyPI (nếu không đặt sẽ mặc định dùng PyPI chính thức).
Trong nước nên dùng mirror TUNA: https://pypi.tuna.tsinghua.edu.cn/simple/
Có thể đặt LISTEN_IP để đổi IP lắng nghe (mặc định là 0.0.0.0, tức là lắng nghe mọi IP).
Có thể đặt LISTEN_PORT để đổi cổng lắng nghe (mặc định là 8000).
Ví dụ:
12
dockerbuild-tOI_Wiki.--build-argWIKI_REPO=https://hub.fastgit.xyz/OI-wiki/OI-wiki.gitPYPI_MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple/
# Xây dựng image tên OI_Wiki (tag mặc định), dùng FastGit để clone, dùng mirror TUNA cho PyPI.
Chạy container
12
# Chạy trên máy chủ
dockerrun-d-it[image]
(Bắt buộc) Đặt [image] là tên image. Ví dụ, image từ Docker Hub là 24oi/oi-wiki; từ DaoCloud Hub là daocloud.io/sirius/oi-wiki.
(Bắt buộc) Thêm -p [port]:8000 để ánh xạ cổng container ra cổng máy chủ (nếu không sẽ không mở cổng). Đặt [port] là cổng trên máy chủ. Sau đó có thể truy cập OI Wiki tại http://127.0.0.1:[port].
Thêm --name [name] để đặt tên container (mặc định không có tên, thay [name] bằng tên tùy chọn. Xem id container bằng docker ps).
Sử dụng container
Lưu ý
Ví dụ dưới đây dựa trên Ubuntu latest.
Vào container:
12
# Chạy trên máy chủ
dockerexec-it[name]/bin/bash
Nếu khi chạy container không thêm -d, sẽ vào bash trực tiếp, thoát ra thì container dừng. Nếu có -d thì chạy nền, muốn vào bash thì dùng lệnh trên.
Một số lệnh đặc biệt:
1 2 3 4 5 6 7 8 9101112131415161718
# Chạy trong container# Cập nhật repo git
wiki-upd
# Dùng theme tùy chỉnh của chúng tôi
wiki-theme
# Build mkdocs, kết quả ở thư mục site
wiki-bld
# Build mkdocs và render MathJax, kết quả ở thư mục site
wiki-bld-math
# Chạy server, truy cập http://127.0.0.1:8000 trong container hoặc http://127.0.0.1:[port] trên máy chủ để xem
wiki-svr
# Sửa định dạng Markdown
wiki-o
Thoát khỏi container:
123
# Chạy trong container# Thoátexit
Dừng container
12
# Chạy trên máy chủ
dockerstop[name]
Khởi động container
12
# Chạy trên máy chủ
dockerstart[name]
Khởi động lại container
12
# Chạy trên máy chủ
dockerrestart[name]
Xóa container
123
# Chạy trên máy chủ# Xóa trước khi xóa image
dockerrm[name]
Cập nhật image
Chỉ cần pull lại, thông thường image sẽ không cập nhật thường xuyên.
Xóa image
123
# Chạy trên máy chủ# Trước khi xóa image cần xóa hết container dùng image đó
dockerrmi[image]
Last updated on this page:, Update history Found an error? Want to help improve? Edit this page on GitHub! Contributors to this page:OI-wiki All content on this page is provided under the terms of the CC BY-SA 4.0 and SATA license, additional terms may apply