docker 安装 Nginx

查看版本

复制代码
https://hub.docker.com/_/nginx/tags

拉取镜像(挑选一个)

复制代码
docker pull nginx:stable-alpine3.23-perl

配置

创建nginx的配置文件
复制代码
nginx.conf
bash 复制代码
user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

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"';

    access_log  /var/log/nginx/access.log  main;

    # 开启高效传输
    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;

    # 长连接超时时间
    keepalive_timeout  65;

    # 开启gzip压缩(优化Vue静态资源加载速度)
    gzip  on;
    gzip_min_length  1k;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    server {
		listen 80;
		
		location /app1/ {
        alias /usr/share/nginx/html/app1/dist/;
        try_files $uri $uri/ /app1/index.html;
        add_header Cache-Control "no-cache, no-store";
		}

		# 错误页配置
		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   /usr/share/nginx/html;
		}
	}
}
创建docker-compose.yml 文件
bash 复制代码
docker-compose.yml
bash 复制代码
services:
  nginx:
    image: nginx:stable-alpine3.23-perl
    # 容器名称
    container_name: db-nginx
    # 开机自启
    restart: unless-stopped
    # 端口映射:主机80端口 -> 容器80端口(可根据需要修改,如8080:80)
    ports:
      - "17779:80"
      # 如果需要HTTPS,添加443端口映射
      # - "443:443"
    # 目录挂载(将本地目录映射到容器内)
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./html:/usr/share/nginx/html:ro
      - ./logs:/var/log/nginx

初始化启动

bash 复制代码
docker-compose up -d

二次启动

bash 复制代码
docker-compose start

停止

bash 复制代码
docker-compose stop

停止并删除容器

bash 复制代码
docker-compose down
相关推荐
Y3815326628 小时前
Docker Compose 服务依赖与健康检查:healthcheck 让容器按正确顺序启动
运维·docker·容器
Rain的Java大神之路9 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
2601_9652354810 小时前
快速了解docker
docker·容器·dubbo
李昊哲小课10 小时前
Deepin 25 上安装 Docker CE 实战记录
运维·docker·容器·deepin
重生之我来学Python13 小时前
Docker套装的简介、安装、超级详细教程
linux·docker·容器·eureka·github
Lsetea14 小时前
Nginx报SSL_CTX_use_PrivateKey failed:证书与私钥不匹配怎么排查
nginx·https·ssl证书·openssl·私钥
LRL_16 小时前
深入浅出 Kubernetes 控制器:Deployment 与 StatefulSet 核心区别全景图
云原生·容器·kubernetes
!chen16 小时前
客户环境 Nginx 配置流式报表与超时排查
运维·nginx
起名真的太难了16 小时前
Docker 项目部署
docker·容器·eureka
狼与自由17 小时前
docker 安装milvus
docker·milvus