docker 安装 nginx
1.首先拉取nginx
2.先运行nginx,将容器内的/etc/nginx/nginx.conf拷贝出来
3.重新编辑nginx.conf,放入本地路径
4.停止nginx,删除容器,然后重新运行容器,挂载配置自己编辑的配置文件
#拉取最新版本nginx
docker pull nginx
#查看拉取的镜像
docker images
#运行nginx镜像
docker run -itd -p 8080:80 --name nginxTest nginx
#拷贝nginxTest容器配置文件到本地机器
docker cp nginxTest:/etc/nginx/nginx.conf /nginx.conf
nginx.conf配置
#源配置文件
user nginx;
worker_processes auto;
#日志文件 不加/ 表示相对位置相对当前文件 加/ 绝对路径
#当path/file 的值为 /dev/null时,这样就不会输出任何日志了,这也是关闭error日志的唯一手段;
#leve的取值范围是debug、info、notice、warn、error、crit、alert、emerg从左至右级别依次增大。
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
#导入mime.types文件
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#导入*.conf文件
include /etc/nginx/conf.d/*.conf;
}
修改为自己的配置文件按
worker_processes 1;
#日志文件/log/error.log
error_log /log/error.log error;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
#项目访问路径 /html/sealHome 在这个文件夹下要有iddex.html
root /html/sealHome;
index index.html;
}
location = /50x.html {
root html;
}
}
server {
listen 8085;
server_name localhost;
location / {
#项目访问路径 /html/sealHome 在这个文件夹下要有iddex.html
root /html/sealAdmin;
index index.html;
}
location = /50x.html {
root html;
}
}
}
5.配置完成之后 停止刚才的容器,删除容器,重新部署自己的项目
#查看容器
docker ps
#停止容器
docker stop nginxTest
#删除容器
docker rm nginxTest
#启动容器 重命名 端口映射 配置文件挂载 项目位置挂载 日志文件挂载 重启自启
docker run -itd --name myNginx -p 8080:80 -p 8085:8085 -v /nginx.conf:/etc/nginx/nginx.conf -v /usr/local/docker/nginx/html:/html -v /usr/local/docker/nginx/log:/log --restart always nginx