We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docker的使用确实很方便,每一个container都是一个独立运行的环境,关于docker的基础使用方法,网上教程很多,大家自行google。这里主要是记录使用docker部署网站的流程。以部署自己的网站为例。
在项目根目录下创建nginx文件夹,该文件夹下新建文件default.conf
server { listen 80; server_name localhost; #charset koi8-r; access_log /var/log/nginx/host.access.log main; error_log /var/log/nginx/error.log error; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
配置文件定义了首页的指向为 /usr/share/nginx/html/index.html, 所以我们可以一会把构建出来的index.html文件和相关的静态资源放到/usr/share/nginx/html目录下。
在项目的根目录下创建Dockerfile文件
FROM nginx COPY dist/ /usr/share/nginx/html/ COPY nginx/default.conf /etc/nginx/conf.d/default.conf
自定义构建镜像的时候基于Dockerfile来构建。
在目录下创建DokcerBash.sh脚本文件。部署的时候我们可以直接运行这个文件帮我们执行一系列的命令,非常的方便。
#!/bin/bash docker stop ant-vue-blog-front docker rm ant-vue-blog-front docker rmi ant-vue-blog-front docker build -t ant-vue-blog-front . docker run \ -p 80:80 \ -d --name ant-vue-blog-front \ ant-vue-blog-front
docker stop ant-vue-blog-front docker rm ant-vue-blog-front docker rmi ant-vue-blog-front 如果已经有正在运行的container会先停止这个container,然后删除这个container,然后删除对应的镜像。
运行脚本:
# 先打包代码 $ npm run build # 然后执行脚本 $ sh DokcerBash.sh
执行完成后我们可以通过docker ps就可以看到我们启动的容器了。现在我们可以通过宿主机的ip地址访问到我们的网站了。
docker ps
现在网站可以访问了,但是我访问过程中发现在非根目录的路由下刷新页面,会出现404的情况,既然404肯定是因为当前访问资源不存在,那说明路由配置不对。修改nignx配置文件
location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html last; }
完整的配置文件如下:
server { listen 80; server_name localhost; #charset koi8-r; access_log /var/log/nginx/host.access.log main; error_log /var/log/nginx/error.log error; location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html last; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
docker的使用确实很方便,每一个container都是一个独立运行的环境,关于docker的基础使用方法,网上教程很多,大家自行google。这里主要是记录使用docker部署网站的流程。以部署自己的网站为例。
创建 nginx config配置文件
在项目根目录下创建nginx文件夹,该文件夹下新建文件default.conf
配置文件定义了首页的指向为 /usr/share/nginx/html/index.html, 所以我们可以一会把构建出来的index.html文件和相关的静态资源放到/usr/share/nginx/html目录下。
创建 Dockerfile 文件
在项目的根目录下创建Dockerfile文件
创建DokcerBash.sh脚本文件
在目录下创建DokcerBash.sh脚本文件。部署的时候我们可以直接运行这个文件帮我们执行一系列的命令,非常的方便。
-p 80:80 端口映射,将宿主的80端口映射到容器的80端口
-d 后台方式运行
--name 容器名
运行脚本:
执行完成后我们可以通过
docker ps
就可以看到我们启动的容器了。现在我们可以通过宿主机的ip地址访问到我们的网站了。遇到的问题
现在网站可以访问了,但是我访问过程中发现在非根目录的路由下刷新页面,会出现404的情况,既然404肯定是因为当前访问资源不存在,那说明路由配置不对。修改nignx配置文件
完整的配置文件如下:
参考文章
The text was updated successfully, but these errors were encountered: