账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    docker 中 修改了 Nginx 配置不起作用
    36
    0

    描述

    我使用了数据卷来启动容器,docker run --name nginx-container -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf -p 80:80 -d nginx

    我修改了本地的配置文件,通过docker exec -it nginx-container nginx -s reload 发送重启命令,发现不管用,仍然使用原来的配置文件,必须要 docker stop nginx-container 然后再 docker start nginx-container

    疑问

    是我的用法不对吗?还是不能这么搞,使用数据卷应该修改本地的就会把容器里面的配置修改了,然而我连接到容器里面查看,还是原来的配置,说明本地的修改没有生效,是不是遗漏了哪一环节?

    我看到官方在映射数据卷的时候,在后面加ro,这是只读的意思吧,我什么都不加应该有修改权限吧?

    -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro

    另外我映射本地一个index.html到容器中,访问首页,修改本地index.html,是生效的,只是映射的配置文件不行。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 半抹灯芯 普通会员 1楼

      在 Docker 中,修改 Nginx 配置可能需要重启 Nginx 服务或者更改 Nginx 的配置文件。以下是一些可能的原因:

      1. Nginx 配置文件丢失:如果您更改了 Nginx 配置文件,但忘记了备份,可能会导致配置文件丢失。可以使用 docker cp 命令将 Nginx 配置文件复制到本地,然后使用编辑器修改配置文件。

      2. Nginx 服务未启动:如果您没有启动 Nginx 服务,那么即使您更改了 Nginx 配置,配置文件也不会生效。可以使用 docker service start 命令启动 Nginx 服务。

      3. Nginx 配置文件问题:如果 Nginx 配置文件本身有问题,那么即使您更改了配置文件,配置文件仍然不会生效。可以使用 docker exec -it nginx -c "sudo vi /etc/nginx/nginx.conf" 命令查看 Nginx 配置文件,然后尝试修改。

      4. Docker 用户权限问题:如果您没有足够的权限来修改 Nginx 配置文件,那么即使您更改了配置文件,配置文件也不会生效。可以使用 docker run --user=nginx 命令以 Nginx 用户身份运行 Nginx,然后使用编辑器修改配置文件。

      5. Nginx 配置文件内容问题:如果 Nginx 配置文件中的内容有误,那么即使您更改了配置文件,配置文件也不会生效。可以使用 docker exec -it nginx -c "sudo vi /etc/nginx/nginx.conf" 命令查看 Nginx 配置文件,然后尝试修改。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部