Created
June 28, 2018 07:56
-
-
Save icy/2b79828c38270815d4774cd0b2d7fb69 to your computer and use it in GitHub Desktop.
Dockerfile.demo-proxy.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ############################################################### | |
| # Dockerfile generated by Bocker-v1.3. Do not edit this file. # | |
| ############################################################### | |
| FROM ubuntu:16.04 | |
| MAINTAINER Anh K. Huynh <kyanh@theslinux.org> | |
| # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| # Here is from `__ed_before_ship` method. You may need your own | |
| # custom one to advance the base image when it doesn't have Bash. | |
| # | |
| # The default `__ed_before_ship` method is to print this message. | |
| # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| # Bocker method => __ed_ship | |
| # * The output is /bocker.sh in the result image. | |
| # * List of methods: | |
| # - ed_apt_clean | |
| # - ed_apt_install | |
| # - ed_apt_purge | |
| # - ed_apt_remove | |
| # | |
| # | set -eux | |
| # | if [[ -f /bocker.sh ]]; then source /bocker.sh; fi | |
| # | ed_apt_clean () | |
| # | { | |
| # | rm -fv /var/cache/apt/*.bin; | |
| # | rm -fv /var/cache/apt/archives/*.*; | |
| # | rm -fv /var/lib/apt/lists/*.*; | |
| # | apt-get autoclean | |
| # | } | |
| # | ed_apt_install () | |
| # | { | |
| # | apt-get update; | |
| # | DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends $@ | |
| # | } | |
| # | ed_apt_purge () | |
| # | { | |
| # | apt-get purge -y --auto-remove $@; | |
| # | ed_apt_clean | |
| # | } | |
| # | ed_apt_remove () | |
| # | { | |
| # | DEBIAN_FRONTEND=noninteractive apt-get remove -y $@ | |
| # | } | |
| # | echo '#!/bin/bash' > /bocker.sh | |
| # | echo '# This file is generated by Bocker.' >> /bocker.sh | |
| # | declare -f >> /bocker.sh | |
| # | echo 'if [[ -n "$@" ]]; then $@; fi; ' >> /bocker.sh | |
| # | chmod 755 /bocker.sh | |
| # | |
| RUN echo \ | |
| c2V0IC1ldXgKaWYgW1sgLWYgL2JvY2tlci5zaCBdXTsgdGhlbiBzb3VyY2UgL2JvY2tlci5\ | |
| zaDsgZmkKZWRfYXB0X2NsZWFuICgpIAp7IAogICAgcm0gLWZ2IC92YXIvY2FjaGUvYXB0Ly\ | |
| ouYmluOwogICAgcm0gLWZ2IC92YXIvY2FjaGUvYXB0L2FyY2hpdmVzLyouKjsKICAgIHJtI\ | |
| C1mdiAvdmFyL2xpYi9hcHQvbGlzdHMvKi4qOwogICAgYXB0LWdldCBhdXRvY2xlYW4KfQpl\ | |
| ZF9hcHRfaW5zdGFsbCAoKSAKeyAKICAgIGFwdC1nZXQgdXBkYXRlOwogICAgREVCSUFOX0Z\ | |
| ST05URU5EPW5vbmludGVyYWN0aXZlIGFwdC1nZXQgaW5zdGFsbCAteSAtLW5vLWluc3RhbG\ | |
| wtcmVjb21tZW5kcyAkQAp9CmVkX2FwdF9wdXJnZSAoKSAKeyAKICAgIGFwdC1nZXQgcHVyZ\ | |
| 2UgLXkgLS1hdXRvLXJlbW92ZSAkQDsKICAgIGVkX2FwdF9jbGVhbgp9CmVkX2FwdF9yZW1v\ | |
| dmUgKCkgCnsgCiAgICBERUJJQU5fRlJPTlRFTkQ9bm9uaW50ZXJhY3RpdmUgYXB0LWdldCB\ | |
| yZW1vdmUgLXkgJEAKfQplY2hvICcjIS9iaW4vYmFzaCcgPiAvYm9ja2VyLnNoCmVjaG8gJy\ | |
| MgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBieSBCb2NrZXIuJyA+PiAvYm9ja2VyLnNoCmRlY\ | |
| 2xhcmUgLWYgPj4gL2JvY2tlci5zaAplY2hvICdpZiBbWyAtbiAiJEAiIF1dOyB0aGVuICRA\ | |
| OyBmaTsgJyA+PiAvYm9ja2VyLnNoCmNobW9kIDc1NSAvYm9ja2VyLnNoCg==\ | |
| | base64 -d | bash | |
| # Bocker method => ed_demo_proxy_install | |
| # | |
| # | set -eux | |
| # | if [[ -f /bocker.sh ]]; then source /bocker.sh; fi | |
| # | ed_demo_proxy_install () | |
| # | { | |
| # | ed_apt_install nginx-extras; | |
| # | ed_apt_clean | |
| # | } | |
| # | ed_demo_proxy_install | |
| # | |
| RUN echo \ | |
| c2V0IC1ldXgKaWYgW1sgLWYgL2JvY2tlci5zaCBdXTsgdGhlbiBzb3VyY2UgL2JvY2tlci5\ | |
| zaDsgZmkKZWRfZGVtb19wcm94eV9pbnN0YWxsICgpIAp7IAogICAgZWRfYXB0X2luc3RhbG\ | |
| wgbmdpbngtZXh0cmFzOwogICAgZWRfYXB0X2NsZWFuCn0KZWRfZGVtb19wcm94eV9pbnN0Y\ | |
| WxsCg==\ | |
| | base64 -d | bash | |
| # Bocker method => __ed_ship | |
| # * The output is /bocker.sh in the result image. | |
| # * List of methods: | |
| # - ed_demo_proxy_config | |
| # - ed_demo_proxy_start_daemon | |
| # | |
| # | set -eux | |
| # | if [[ -f /bocker.sh ]]; then source /bocker.sh; fi | |
| # | ed_demo_proxy_config () | |
| # | { | |
| # | rm -fv /etc/nginx/sites-enabled/default || true; | |
| # | PROXY_TO="${PROXY_TO:-http://localhost:7777}"; | |
| # | PROXY_NAME="${PROXY_NAME:-X-My-Demo-Proxy}"; | |
| # | cat > /etc/nginx/sites-enabled/demo-proxy.conf <<EOF | |
| # | server { | |
| # | listen 80 default_server; | |
| # | root /var/www/html/; | |
| # | access_log /dev/null; | |
| # | location / { | |
| # | proxy_set_header Host \$host; | |
| # | proxy_pass ${PROXY_TO}; | |
| # | # add_header "X-Proxied-By" "${PROXY_NAME}" always; | |
| # | more_set_headers "X-Proxied-By: ${PROXY_NAME}"; | |
| # | } | |
| # | } | |
| # | EOF | |
| # | | |
| # | } | |
| # | ed_demo_proxy_start_daemon () | |
| # | { | |
| # | ed_demo_proxy_config; | |
| # | /usr/sbin/nginx -t && exec /usr/sbin/nginx -g "daemon off;" | |
| # | } | |
| # | echo '#!/bin/bash' > /bocker.sh | |
| # | echo '# This file is generated by Bocker.' >> /bocker.sh | |
| # | declare -f >> /bocker.sh | |
| # | echo 'if [[ -n "$@" ]]; then $@; fi; ' >> /bocker.sh | |
| # | chmod 755 /bocker.sh | |
| # | |
| RUN echo \ | |
| c2V0IC1ldXgKaWYgW1sgLWYgL2JvY2tlci5zaCBdXTsgdGhlbiBzb3VyY2UgL2JvY2tlci5\ | |
| zaDsgZmkKZWRfZGVtb19wcm94eV9jb25maWcgKCkgCnsgCiAgICBybSAtZnYgL2V0Yy9uZ2\ | |
| lueC9zaXRlcy1lbmFibGVkL2RlZmF1bHQgfHwgdHJ1ZTsKICAgIFBST1hZX1RPPSIke1BST\ | |
| 1hZX1RPOi1odHRwOi8vbG9jYWxob3N0Ojc3Nzd9IjsKICAgIFBST1hZX05BTUU9IiR7UFJP\ | |
| WFlfTkFNRTotWC1NeS1EZW1vLVByb3h5fSI7CiAgICBjYXQgPiAvZXRjL25naW54L3NpdGV\ | |
| zLWVuYWJsZWQvZGVtby1wcm94eS5jb25mICA8PEVPRgogIHNlcnZlciB7CiAgICBsaXN0ZW\ | |
| 4gODAgZGVmYXVsdF9zZXJ2ZXI7CiAgICByb290ICAgICAgICAvdmFyL3d3dy9odG1sLzsKI\ | |
| CAgIGFjY2Vzc19sb2cgIC9kZXYvbnVsbDsKICAgIGxvY2F0aW9uIC8gewogICAgICBwcm94\ | |
| eV9zZXRfaGVhZGVyIEhvc3QgXCRob3N0OwogICAgICBwcm94eV9wYXNzICAgICAgICAgICA\ | |
| gJHtQUk9YWV9UT307CiAgICAgICMgYWRkX2hlYWRlciAgICAgICAgICAiWC1Qcm94aWVkLU\ | |
| J5IiAiJHtQUk9YWV9OQU1FfSIgYWx3YXlzOwogICAgICBtb3JlX3NldF9oZWFkZXJzICAgI\ | |
| CAgIlgtUHJveGllZC1CeTogJHtQUk9YWV9OQU1FfSI7CiAgICB9CiAgfQpFT0YKCn0KZWRf\ | |
| ZGVtb19wcm94eV9zdGFydF9kYWVtb24gKCkgCnsgCiAgICBlZF9kZW1vX3Byb3h5X2NvbmZ\ | |
| pZzsKICAgIC91c3Ivc2Jpbi9uZ2lueCAtdCAmJiBleGVjIC91c3Ivc2Jpbi9uZ2lueCAtZy\ | |
| AiZGFlbW9uIG9mZjsiCn0KZWNobyAnIyEvYmluL2Jhc2gnID4gL2JvY2tlci5zaAplY2hvI\ | |
| CcjIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgYnkgQm9ja2VyLicgPj4gL2JvY2tlci5zaApk\ | |
| ZWNsYXJlIC1mID4+IC9ib2NrZXIuc2gKZWNobyAnaWYgW1sgLW4gIiRAIiBdXTsgdGhlbiA\ | |
| kQDsgZmk7ICcgPj4gL2JvY2tlci5zaApjaG1vZCA3NTUgL2JvY2tlci5zaAo=\ | |
| | base64 -d | bash | |
| ENV PROXY_NAME My-Demo-Proxy | |
| ENV PROXY_TO http://localhost:7777 | |
| EXPOSE 80 | |
| CMD ["/bocker.sh", "ed_demo_proxy_start_daemon"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment