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