docker部署nginx

一、docker拉取nginx镜像

docker pull nginx:latest

二、docker运行镜像

docker运行镜像(目的:拷贝文件夹)

docker run -d --name nginx -p 80:80 -p 443:443 nginx:latest

三、拷贝nginx配置文件

拷贝nginx配置文件到主机目录,为文件映射做准备(直接映射会出错)分别拷贝nginx配置文件、html文件、logs日志文件

docker cp nginx:/etc/nginx/nginx.conf /usr/nginx/  
docker cp nginx:/etc/nginx/conf.d /usr/nginx/conf/  
docker cp nginx:/usr/share/nginx/html /usr/nginx/html 
docker cp nginx:/var/log/nginx/ /usr/nginx/logs/ 

拷贝完毕之后,删除此docker容器

docker rm -f b9

删除了之后,重新运行新的nginx容器作为正式服务
在这里我使用映射-v /usr/nginx/masecho-project:/usr/nginx/masecho-project存放我的前端项目静态文件夹

docker run -d --name nginx \
-p 80:80 -p 443:443 \
-v /usr/nginx/masecho-project:/usr/nginx/masecho-project \
-v /usr/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/nginx/logs:/var/log/nginx \
-v /usr/nginx/html:/usr/share/nginx/html \
-v /usr/nginx/conf:/etc/nginx/conf.d \
--privileged=true \
-e TZ=Asia/Shanghai nginx:latest

修改usr/nginx/nginx.conf,监听80端口将xxxx.xxx.xxx.com映射到文件夹/usr/masecho-project/doc/dist

   server {
        listen       80;
        server_name  xxxx.xxx.xxx.com;
        charset  utf-8;
        location / {
          root /usr/masecho-project/doc/dist;
          try_files $uri $uri/ /index.html;
        }
    }

重新启动docker(nginx)

docker restart 容器id
Contributors: masecho