美文网首页
Dockerfile之nginx脚本(dockerfile通过e

Dockerfile之nginx脚本(dockerfile通过e

作者: 7b7d23d16ab5 | 来源:发表于2019-12-22 10:13 被阅读0次

    Dockerfile之nginx脚本(dockerfile通过echo输入多行内容到文本)

    FROM nginx
    RUN echo 'upstream portainer {\n\
        server www.micking.top:9000;\n\
    }\n\
    server {\n\
        listen 19000;\n\
        listen 9000;\n\
        server_name localhost;\n\
        ssl on;\n\
        ssl_certificate /etc/nginx/cert/2423367_www.micking.top.pem;\n\
        ssl_certificate_key /etc/nginx/cert/2423367_www.micking.top.key;\n\
        ssl_session_timeout 5m;\n\
        ssl_protocols SSLv2 SSLv3 TLSv1.2;\n\
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;\n\
        ssl_prefer_server_ciphers on;\n\
        if ($scheme != "https") {\n\
            return 301 https://$host$request_uri;\n\
        }\n\
        location / {\n\
            proxy_pass http://portainer;\n\
            proxy_set_header Host $host;\n\
            proxy_set_header X-Real-IP $remote_addr;\n\
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\
            proxy_set_header Via "nginx";\n\
        }\n\
    }\n'\
    >> /etc/nginx/conf.d/https_portainer.conf
    ADD 2423367_www.micking.top.key /etc/nginx/cert/2423367_www.micking.top.key
    ADD 2423367_www.micking.top.pem /etc/nginx/cert/2423367_www.micking.top.pem
    

    以上脚本带有使用echo在dockerfile中输入多行内容到文本中
    注意,docker RUN echo 输入的文本内容是在镜像中的目录,而非宿主机中,创建容器后会出现在容器中,要通过容器目录挂载到宿主机中才能在宿主机中操作
    docker RUN echo 输入多行文本一定要用 `` 包裹起来,每行最后要加上\n,还有末尾结束要加上斜杠,也就是上面的效果:
    'xxx\n
    aaa\n'\

    echo 小知识
    echo $'xxx'
    

    echo 后面如果加了符号,那么将随后的语句认为是指令进行执行操作,如果只是纯粹想把内容写入文本,那么不要加符号

    相关文章

      网友评论

          本文标题:Dockerfile之nginx脚本(dockerfile通过e

          本文链接:https://www.haomeiwen.com/subject/gefonctx.html