【问题标题】:Nginx Docker's container : set default home page with a custom index.htmlNginx Docker 的容器:使用自定义 index.html 设置默认主页
【发布时间】:2015-04-09 09:48:53
【问题描述】:

我使用 docker 容器并为 nginx 构建了一个。

我想用我的 index.html 更改 nginx 的主页。

如何告诉我的 nginx 容器在哪里找到我的自定义 index.html 并用我的索引替换他自己的 index.html?

【问题讨论】:

    标签: nginx docker home-directory


    【解决方案1】:

    您可以简单地将COPY commandADD command 放在您的Dockerfile 中,这会将您的index.html 文件复制到NGiNX 提供的文件上(由root 指令定义,例如/data/www/index.html

    COPY <src>... <dest>
    ADD <src>... <dest>
    

    这里:

    COPY /path/to/your/index.html /data/www/index.html
    ADD /path/to/your/index.html /data/www/index.html
    

    注意,RUNCOPY 优先于 ADD

    如果&lt;src&gt; 的内容发生变化,第一个遇到的ADD 指令将使来自Dockerfile 的所有后续指令的缓存失效
    这包括使 RUN 指令的缓存失效。

    这就是suggestion made in the comments 更好的原因:

    如果你有一些改动

    RUN sed -i -e"s/aaa/bbb" /data/www/index.html 
    

    如果您有很多更改,ADD 仍然是一个有效的选项(先尝试COPY),但请尝试将其放在 dockerfile 的 end 中,而不是放在开头或中中间。

    【讨论】:

    • 或者一个 sed,一个例子 RUN sed -i -e"s/aaa/bbb" /data/www/index.html 如果你有很少的变化
    • @user2915097 是的。我已经编辑了答案:RUNCOPYADD 好,这会使 Dockerfile 中所有以下指令的缓存失效。
    猜你喜欢
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 2021-12-30
    • 2014-05-04
    • 2015-07-20
    • 2017-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多