版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Docker之nginx的生产环境的部署
前言
容器已经是越来越流行了,现在大家都喜欢使用容器化部署,刚好接到一个需求,需要将nginx使用docker来实现部署,同时前端人员只需要替换自己的html文件就可以了,基于这个需求我们开始使用我们的docker容器来部署我们的nginx。
第一步拉取最新的docker镜像
直接执行以下的命令就完成我们的docker镜像的拉取:
docker pull nginx
nginx镜像映射详解
/usr/share/nginx/html:nginx容器存放html所在的目录
/etc/nginx/nginx.conf:nginx容器的配置文件所在的位置
/var/log/nginx:nginx容器的日志所在的位置
基于nginx镜像的启动
首先在我们的服务器创建以下的工程目录:
/home/taxctrl/app/nginx
接着在nginx目录底下创建html目录和conf目录以及logs目录,分别用于存放我们的html的文件和我们的自定义的nginx.conf的文件配置信息,logs目录用于存放我们的日志信息,以下是nginx.conf的配置信息:
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
sendfile on;
keepalive_timeout 65;
gzip off;
default_type application/octet-stream;
server {
listen 8081;
server_name localhost;
client_body_buffer_size 50m;
client_max_body_size 50m;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /gateway/ {
proxy_hide_header X-Frame-Options;
add_header X-Frame-Options SAMEORIGIN;
rewrite ^/gateway/(.*) /$1 break;
proxy_pass http://xx.xx.xx.xx:xx/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
那么接下来我们就基于我们的镜像来编写启动我们的docker的命令:
docker run --name nginx-dev -p 8081:8081
# 实现nginx的日志的挂载
-v /home/taxctrl/app/nginx/conf/dev/logs:/var/log/nginx
# 实现配置文件的挂载
-v /home/taxctrl/app/nginx/conf/dev/nginx.conf:/etc/nginx/nginx.conf
# 实现html文件的挂载,我们只需要把我们需要发布的html文件放到/home/taxctrl/app/nginx/html即可
-v /home/taxctrl/app/nginx/html:/usr/share/nginx/html
# 以管理员期限来运行,若不加这段则会出现挂载不上去报期限错误
--privileged=true
-d docker.io/nginx
到此我们就完成了我们的nginx的部署了,大家可以直接放置一个index.html文件到我们的html目录中,然后访问相应服务的8081端口,大家就可以看到我们的index.html的文件的信息。