docker 部署 mkdocs (mkdocs-material)

盖向荣
2023-12-01

环境:ubuntu16.04 LTS
mkdocs官网 有详细的安装步骤。
下面的方法是通过docker来部署。

获取镜像

$  docker search mkdocs
NAME                                      DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
squidfunk/mkdocs-material                 A Material Design theme for MkDocs              25                                      [OK]
moird/mkdocs                                                                              6                                       [OK]
thinkcube/mkdocs                          Mkdocs CentOS 7 image                           3                                       [OK]
jobandtalent/mkdocs                       mkdocs.org image                                3                                       [OK]
pengbai/docker-mkdocs                     MkDocs image using mkdocs-bootswatch theme      2                                       [OK]
polinux/mkdocs                            MkDocs in a Docker. (Alpine Linux as a base …   2                              
..

第一个 squidfunk/mkdocs-material 根据名字来看应该是使用了 material 主题的mkdocs,那么就尝试用他了。

$ docker pull squidfunk/mkdocs-material

等待下载完成。

开始部署

生成项目目录

$ docker run -it --rm -v ~/docs:/docs squidfunk/mkdocs-material new my-project

运行起来

$ docker run -it --name mkdocs --rm -v ~/docs:/docs -p 58000:8000 --workdir /docs/my-project squidfunk/mkdocs-material serve -a 0.0.0.0:8000

将端口8000映射为58000。

这时浏览器打开 http://{IP}:58000
就可以看到 mkdocs 界面
如果看到没问题,那么可以直接后台运行,即将 -it 换成 -d

$ docker rm -f mkdocs
$ docker run -d --name mkdocs --rm -v ~/docs:/docs -p 58000:8000 --workdir /docs/my-project squidfunk/mkdocs-material serve -a 0.0.0.0:8000

修改配置文件

打开 mkdocs.yml 文件,做以下修改

site_name: 开发文档库
copyright: Copyright &copy; 2018 <a href="http://gisfly.xyz">gis fly</a>.
theme: 
  name: 'material'

其中主题是 material,保存之后就可以看到 material 主题了
还有另外一种主题 readthedocs,目录在侧边栏。

Note: 保存的时候,可能会提示没有权限,这时可以对整个文件夹进行权限修改

$ sudo chmod -R 777 ~/docs/

~/docs/my-project/docs 目录下新建文件夹,便自动生成相应的菜单。
至此,mkdocs 部署完成。

 类似资料: