Docker развертывает персонализированную конфигурацию сервиса Nginx

Docker

Среда развертывания

проект иллюстрировать
операционная система macOS Catalina
установить программное обеспечение Docker

Для macOS или Windows загрузите соответствующую настольную версию непосредственно с официального сайта докера для установки. Сервер Linux может просматриватьУстановка линукс докераОфициальное руководство по установке

конфигурационный файл

Создайте необходимые папки

mkdir -p ~/docker-nginx/{conf,conf.d,log,html}
содержание иллюстрировать
conf Сохранить файл конфигурации nginx по умолчанию
conf.d Хранить файлы конфигурации службы nginx
log Хранить файлы конфигурации журнала
html Хранить упакованные файлы релизов внешнего интерфейса

Добавьте файл конфигурации nginx

Добавьте ==nginx.conf== ​​в каталог ~/docker-nginx/conf/
vi ~/docker-nginx/conf/nginx.conf
user  nginx;
# 工作进程数 缺省为1; CPU核心数,(双核4线程,可以设置为4)
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
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;
  keepalive_timeout  65;
  # 会扫描/etc/nginx/conf.d/文件夹下面所有的配置文件
  include            /etc/nginx/conf.d/*.conf;
}
Добавьте ==default.conf== ​​в каталог ~/docker-nginx/conf.d/
vi ~/docker-nginx/conf.d/default.conf
server {
    listen       80;
    # localhost 在发布时修改成对应的域名
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    # 反向代理配置,此配置可实现跨域,后端负载均衡等需求
    location /api {
        proxy_pass http://xxx.xxx.xxx.xxx:8080;
        # access_log "logs/test.log";
    }
}

запустить контейнер

Выполните следующую команду для автоматического извлечения образа NGINX при запуске контейнера.

docker run --name myNginx \
-d -p 80:80 \
-v ~/docker-nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v ~/docker-nginx/conf.d:/etc/nginx/conf.d \
-v ~/docker-nginx/log:/var/log/nginx \
-v ~/docker-nginx/html:/usr/share/nginx/html \
nginx

Скопируйте упакованные файлы внешнего интерфейса для публикации в ~/docker-nginx/html. Здесь возьмите проект vue в качестве примера, чтобы скопировать содержимое из дистрибутива в папку html.

前端工程打包输出文件
html
Посетите http://localhost:80 в своем браузере
访问效果

Суммировать

Docker должен обратить внимание на 3 пути, которые необходимо смонтировать при запуске Nginx.

хранится отдельно

  • файл конфигурации службы
  • Папка вывода сервисного журнала (удобна для эксплуатации и обслуживания)
  • Файлы внешнего интерфейса