1.拉取Nginx镜像
docker pull nginx
2.创建挂载目录
mkdir -p /data/nginx/{conf,conf.d,html,logs}
3.获取配置文件
# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /root/docker/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /root/docker/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /root/docker/nginx/
#之后进行容器的删除
# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
# 删除正在运行的nginx容器
docker rm -f nginx
4.修改并配置成自己的配置文件
在nginx.conf中添加如下内容:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
charset utf-8;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
5.启动nginx
docker run \
-p 80:80 \
--name nginx \
-v /usr/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /usr/nginx/log:/var/log/nginx \
-v /usr/nginx/html:/usr/share/nginx/html \
-d nginx:latest
6.配置静态资源
将静态资源全部放到 /usr/nginx/html 下面就可以直接访问了
注意在Docker部署Nginx和直接在Linux上部署Nginx是有区别的
直接在Linux上部署Nginx,只是一个映射
然而在Docker上部署Nginx,是两个映射!