OSDN Git Service

feat: add Docker Deployment
authorfrank <34837108+frank-xjh@users.noreply.github.com>
Mon, 5 Nov 2018 05:02:22 +0000 (13:02 +0800)
committerMingqiHuang <Mingqi.Huang@yandex.com>
Mon, 5 Nov 2018 05:02:22 +0000 (13:02 +0800)
* Update README.md

write docs for using docker to deploy

* Update README.md

* style: format markdown files with remark-lint

* upd: docs for docker

* Update docker-deploy.md

* Update docker-deploy.md

README.md
docs/intro/docker-deploy.md [new file with mode: 0644]
mkdocs.yml

index 125d4b0..b81f4cc 100644 (file)
--- a/README.md
+++ b/README.md
@@ -80,6 +80,10 @@ git clone https://git.coding.net/scaffrey/OI-wiki.git -b coding-pages
 python3 -m http.server
 ```
 
+### Docker
+
+详见 [Docker 部署](https://oi-wiki.org/intro/docker-deploy/)
+
 * * *
 
 ## 如何参与完善 OI Wiki
diff --git a/docs/intro/docker-deploy.md b/docs/intro/docker-deploy.md
new file mode 100644 (file)
index 0000000..1b56879
--- /dev/null
@@ -0,0 +1,123 @@
+可以使用 **Docker** 部署环境。
+
+> 以下步骤均须在 root 用户下执行
+
+## 拉取 oi-wiki 镜像
+
+Docker Hub 镜像(官方镜像仓库,针对国外用户)
+
+```bash
+# 以下命令在主机中运行
+docker pull 24oi/oi-wiki
+```
+
+DaoCloud Hub 镜像(国内镜像仓库,针对国内用户,不推荐)
+
+```bash
+# 以下命令在主机中运行
+docker pull daocloud.io/sirius/oi-wiki
+```
+
+Tencent Hub 镜像(国内镜像仓库,针对国内用户,推荐)
+
+```bash
+# 以下命令在主机中运行
+docker pull ccr.ccs.tencentyun.com/oi-wiki/oi-wiki
+```
+
+## 运行容器
+
+```bash
+# 以下命令在主机中运行
+docker run -d -it [image]
+```
+
+- 设置 `[image]` (必须)以设置镜像,如从 Docker Hub 拉取的则为 `24oi/oi-wiki` ,DaoCloud Hub 拉取的则为 `daocloud.io/sirius/oi-wiki`
+- 设置 `--name [name]` (默认为随机,若想查看随机名字,则输入 `docker ps` ,若设置请替换 `[name]` 为自定义的容器名字)以设置容器名字
+- 设置 `-p [port]:8000` (不写该语句则默认为随机,若设置请替换 `[port]` 为主机端口)以映射容器端口至主机端口(可以在主机使用 `http://127.0.0.1:[port]` 访问 **OI Wiki** )
+
+## 使用
+
+> 基于 Ubuntu16.04 部署
+
+进入容器:
+
+```bash
+# 以下命令在主机中运行
+docker exec -it [name] /bin/bash
+```
+
+> 若在上述运行容器中去掉 `-d` ,则可以直接进入容器 bash ,退出后容器停止,加上 `-d` 则后台运行,请手动停止。上述进入容器针对加上 `-d` 的方法运行。
+
+特殊用法:
+
+```bash
+# 以下命令在容器中运行
+# 更新 git 仓库
+wiki-upd
+
+# 使用我们的自定义主题
+wiki-theme
+
+# 构建 mkdocs ,会在 site 文件夹下得到静态页面
+wiki-bld
+
+# 构建 mkdocs 并渲染 MathJax ,会在 site 文件夹下得到静态页面
+wiki-bld-math
+
+# 运行一个服务器,访问容器中 http://127.0.0.1:8000 或访问主机中 http://127.0.0.1:[port] 可以查看效果
+wiki-svr
+```
+
+退出容器:
+
+```bash
+# 以下命令在容器中运行
+# 退出
+exit
+```
+
+## 停止容器
+
+```bash
+# 以下命令在主机中运行
+docker stop [name]
+```
+
+## 启动容器
+
+```bash
+# 以下命令在主机中运行
+docker start [name]
+```
+
+## 重启容器
+
+```bash
+# 以下命令在主机中运行
+docker restart [name]
+```
+
+## 删除容器
+
+```bash
+# 以下命令在主机中运行
+# 删除前请先停止容器
+docker rm [name]
+```
+
+## 更新镜像
+
+重新再 `pull` 一次即可,通常不会更新
+
+## 删除镜像
+
+```bash
+# 以下命令在主机中运行
+# 删除前请先删除使用 oi-wiki 镜像构建的容器
+docker rmi [image]
+```
+
+## 疑问
+
+如果您有疑问,欢迎提出 issue !
index fa7f1a8..93df21f 100644 (file)
@@ -21,12 +21,13 @@ nav:
     - 学习资源: intro/resources.md
     - 常见错误: intro/common-mistakes.md
     - 常见技巧: intro/common-tricks.md
-    - 工具软件: 
+    - 工具软件:
       - 评测工具: intro/judgers.md
       - 编辑工具: intro/editors.md
       - WSL (Windows 10): intro/wsl.md
       - Special Judge: intro/spj.md
       - Testlib: intro/testlib.md
+    - Docker 部署: intro/docker-deploy.md
     - 关于本项目: intro/about.md
     - F.A.Q.: intro/faq.md
   - 基础部分:
@@ -270,7 +271,7 @@ extra_javascript:
   - 'https://cdnjs.loli.net/ajax/libs/Han/3.3.0/han.min.js'
   - '_static/js/extra.js?v=10'
   - 'https://cdnjs.loli.net/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML'
-  
+
 
 extra_css:
   - 'https://cdn.jsdelivr.net/npm/ah@1.2.0/han.min.css'