由于项目需要,需要搭建一个文档平台,最后使用了vuepress进行搭建,此文谨记录在阿里云搭配nginx搭建vuepress的过程
准备工作:docker+能构建成功的vuepress项目库
1.docker安装nginx
拉取最新的nginx镜像
docker pull nginx:latest
拉取完成后,查看一下本地镜像
docker images
2.创建nginx镜像
docker run -d --name mynginx -p 80:80 ae2f
-d 指定容器以守护进程方式在后台运行
--name 指定容器名称,此处我指定的是mynginx
-p 指定主机与容器内部的端口号映射关系,格式 -p [宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口
ae2f 是nginx的镜像IMAGE ID前4位
命令执行后返回了容器ID,ef1f3b....,此时我们已经成功创建了nginx容器,执行docker ps 查看当前容器
此时打开自己服务器的ip地址,出现如图nginx欢迎页表示安装成功
3.修改nginx配置
1.可以直接 docker exec -it 57 /bin/bash 进入容器内部进行修改(57为容器id首2位),进入容器内部后,cd /etc/nginx 即可看看到nginx相关文件
2.直接将容器文件夹挂载到宿主机上面,然后可以很方便的在宿主机上进行修改,由于本项目需要,故采用方式2
步骤一:
在宿主机的/mnt/目录下执行 mkdir -p ./nginx/{conf,html,logs}创建挂载目录
步骤 二:
分别执行:
docker cp 57:/etc/nginx/nginx.conf ./
dokcer cp 57:/etc/nginx/conf.d/default.conf ./conf/
此时的目录结构为:
步骤三:
执行docker stop 57命令停止刚刚创建的nginx容器,57是容器Id,然后执行docker rm 57移除容器
步骤四:
执行docker run -d --name mynginx -p 80:80 -v /mnt/nginx/nginx.conf:/etc/nginx/nginx.conf -v /mnt/nginx/logs:/var/log/nginx -v /mnt/nginx/html:/usr/share/nginx/html -v /mnt/nginx/conf:/etc/nginx/conf.d --privileged=true ae2f命令,重新创建nginx容器 (ae2f为nginx镜像id首4位)
步骤五:
此时将已build好的vuepress项目的dist文件夹(在docs/.vuepress下),拷贝到/mnt/nginx/html目录下,同时将conf/default.conf里面的server => location / 下的root 更改成:/usr/share/nginx/html/dist
步骤六:
重启nginx容器:docker restart 57c
完成!此时打开服务器ip地址,应该会出现vuepress写好的md文档页面,如图: