文章目录
一、拉取镜像
- https://hub.docker.com/ 查询Nginx镜像
- 拉取镜像到本地
docker pull nginx
二、启动Nginx容器
-
启动容器
docker run --name nginx -m 200m -p 80:80 \ -v /opt/nginx-server-port/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /opt/nginx-server-port/logs:/var/log/nginx \ -v /opt/nginx-server-port:/usr/share/nginx/html \ -v /opt/nginx-server-port/conf:/etc/nginx/conf.d \ -e TZ=Asia/Shanghai \ --net extnetwork \ --privileged=true -d nginx参数说明 -name 给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器 -p 映射端口,将docker宿主机的80端口和容器的80端口进行绑定 -v 挂载文件用的, -m 200m 分配内存空间 -e TZ=Asia/Shanghai 设置时区 第一个-v 表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件, 第二个-v 表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面 第三个-v 表示的和第一个-v意思一样的。 -d 表示启动的是哪个镜像 -
查看容器和IP
docker ps #查看运行的镜像 docker inspect 6fe7cd725506 | grep "IPAddress"
三、配置文件
nginx.conf
events {
worker_connections 1024; ## Default: 1024
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
client_max_body_size 20m;
upstream eng-admin-stream{
server 127.0.0.1:8090 weight=1 max_fails=2 fail_timeout=2;
# server 10.0.4.42:8090 weight=1 max_fails=2 fail_timeout=2;
# --> 网站地址 权重为 1 最多错误几次 每次检查持续时间
}
upstream eng-front-stream{
server 127.0.0.1:8088 weight=1 max_fails=2 fail_timeout=2;
# server 10.0.4.42:8088 weight=1 max_fails=2 fail_timeout=2;
# --> 网站地址 权重为 1 最多错误几次 每次检查持续时间
}
include conf.d/*.conf;
}
server 扩展配置
server {
listen 80;
server_name localhost;
add_header X-Frame-Options SAMEORIGIN;
proxy_redirect http:// https://;
port_in_redirect on;
location / {
client_max_body_size 300M;
# 容器地址
root /usr/share/nginx/html/dist;
index index.html;
# 用户浏览器端的缓存
location ~* \.(css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico)$
{
expires 1h;
if (-f $request_filename){
break;
}
}
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-NginX-Proxy true;
# 动态页面,交给tomcat处理
if (!-e $request_filename) {
proxy_pass http://172.16.101.156:8088;
}
}
}
本文介绍了如何使用Docker从官方仓库拉取Nginx镜像,并详细解释了启动Nginx容器的命令,包括端口映射、配置文件挂载、日志管理及内存分配等设置,确保Nginx服务在Docker环境下稳定运行。
3981

被折叠的 条评论
为什么被折叠?



