nginx - Docker - 我如何重新启动 nginx 以应用自定义配置?

标签 nginx docker docker-compose

我正在尝试使用 docker 配置 LEMP 开发环境,但遇到了 nginx 问题,因为一旦有了新配置,我似乎无法重新启动 nginx

docker-compose.yml:

version: '3'
services:
  nginx:
    image: nginx
    ports:
      - '8080:80'
    volumes:
      - ./nginx/log:/var/log/nginx
      - ./nginx/config/default:/etc/nginx/sites-available/default
      - ../wordpress:/var/www/wordpress
  php:
    image: php:fpm
    ports:
      - 9000:9000
  mysql:
    image: mysql
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: secret
    volumes:
      - ./mysql/data:/var/lib/mysql

我有一个自定义 nginx 配置来替换 /etc/nginx/sites-available/default,在普通的 Ubuntu 环境中,我会运行 service nginx restart 拉入新的配置。

但是,如果我尝试在这个 Docker 环境中执行此操作,nginx 容器会以代码 1 退出。

docker-compose exec nginx sh
service nginx restart

-exit with code 1-

如何将 nginx 与自定义 /etc/nginx/sites-available/default 文件一起使用?

最佳答案

基本上你可以reload通过调用此命令配置 nginx:

docker exec <nginx-container-name-or-id> nginx -s reload

关于nginx - Docker - 我如何重新启动 nginx 以应用自定义配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44570242/

相关文章:

django - 在 nginx 中获取静态文件失败并显示 404

python-3.x - 在 python 3 中请求 HTTP/2 切换协议(protocol)

bash - 如何在Docker Compose中有条件地运行命令

mysql - 使用 Docker-Compose 连接到 MariaDB 时出错, "Connection Lost: The server closed the connection"

docker - 错误: for azerothcore-wotlk_ac-database_1 Cannot start service ac-database: driver failed programming external connectivity on endpoint

ruby-on-rails - Nginx + puma 配置

nginx 从源码编译

docker - portMappings中dcos json中容器端口、主机端口和服务端口的区别

Docker 查看已退出容器的日志

docker - 使用数据初始化 Cloudera Hive Docker 容器