diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..313d0c6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx:latest +RUN apt-get update && apt-get dist-upgrade -y diff --git a/etc_nginx/dhparams.pem b/etc_nginx/dhparams.pem new file mode 100644 index 0000000..81cbc1d --- /dev/null +++ b/etc_nginx/dhparams.pem @@ -0,0 +1,8 @@ +-----BEGIN DH PARAMETERS----- +MIIBCAKCAQEAxq8EjO0pjngutLUrdPrkqaMVxZaHxKzW+ZBUfZsc2eWm50C9GA8t +px/o/4BjvNP+IN6nJcvt6edNYPN+Xh32qRlw3NM+/z3e6x3ARY3y/Q6Rlu+nrsvm +/cFiWXHe+gGPG/B+9N9UEkAwMkECx6No12HXNVgJXfMSvp8PLaSND0KHrp+/mK8g +RUYFoZMm2xmS9RPxFVEv8T1HKfS02Z68PTxBjTE6pIsCI8eMIOh5AJMAJbRBSFe4 +fz/UmdccK0KyDEW/Fme22oBZtfKkedohiXUKAbjS3R4c/DikLdTAD/JWgXGpcKt/ +FulMZ3QIc9/gh29WhrH5hfX4sqJrnkcYcwIBAg== +-----END DH PARAMETERS----- diff --git a/etc_nginx/labfolder.molgen.mpg.de.crt b/etc_nginx/labfolder.molgen.mpg.de.crt new file mode 100644 index 0000000..39fb28b --- /dev/null +++ b/etc_nginx/labfolder.molgen.mpg.de.crt @@ -0,0 +1,117 @@ +subject=/CN=labfolder.molgen.mpg.de/OU=Max-Planck-Institut fuer molekulare Genetik/O=Max-Planck-Gesellschaft/L=Berlin/ST=Berlin/C=DE +-----BEGIN CERTIFICATE----- +MIIJQjCCCCqgAwIBAgIMIRiCjDzzlMiO8zghMA0GCSqGSIb3DQEBCwUAMGoxCzAJ +BgNVBAYTAkRFMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVuMSAw +HgYDVQQKDBdNYXgtUGxhbmNrLUdlc2VsbHNjaGFmdDEVMBMGA1UEAwwMTVBHIENB +IC0gRzAyMB4XDTE5MDYwNjEyMjAxNFoXDTIxMDkwNzEyMjAxNFowgakxCzAJBgNV +BAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEgMB4GA1UE +CgwXTWF4LVBsYW5jay1HZXNlbGxzY2hhZnQxNDAyBgNVBAsMK01heC1QbGFuY2st +SW5zdGl0dXQgZnVlciBtb2xla3VsYXJlIEdlbmV0aWsxIDAeBgNVBAMMF2xhYmZv +bGRlci5tb2xnZW4ubXBnLmRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA7NfGPCTsyV9y8ApmZYxTUvpjTvuYj+uZDGV4anfyNR3Pk+qyK1ipv6gSXNFL +fi/UmHDtIbVQT49rBRHnEeztpppxitpJS5K7rmF5kbYe/Zws/bF5qtXWDRQr1U9+ +8gnmpnzVHIlP3NKGhI08V4HSPq54BFRWE4jvCh4EkZUKjvHPLs9sWU+q7HYFhWN2 +bb7wzQYRdRUbjMKmfr4+rAAfGNpIL3qU+Pf7axJ8S2XJckhvdWR/vwAsJCQoOLPz +rVKh6akUGJq06KnrZ9ZvOL1LuiYjB6tGF6Hkjd63+sdoyF1dFlsCbL0TQ69EChjc +Nptxoe0sSaqwwcEnwoSeVDkBwwIDAQABo4IFpjCCBaIwCQYDVR0TBAIwADAOBgNV +HQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFGjg2aCC +Z95MlHL8zkVUvymqyTvZMB8GA1UdIwQYMBaAFMSIpQfuuHuqDBO/2il0Y1IbSXAW +MCIGA1UdEQQbMBmCF2xhYmZvbGRlci5tb2xnZW4ubXBnLmRlMH0GA1UdHwR2MHQw +OKA2oDSGMmh0dHA6Ly9jZHAxLnBjYS5kZm4uZGUvbXBnLWcyLWNhL3B1Yi9jcmwv +Y2FjcmwuY3JsMDigNqA0hjJodHRwOi8vY2RwMi5wY2EuZGZuLmRlL21wZy1nMi1j +YS9wdWIvY3JsL2NhY3JsLmNybDCBzQYIKwYBBQUHAQEEgcAwgb0wMwYIKwYBBQUH +MAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBCBggr +BgEFBQcwAoY2aHR0cDovL2NkcDEucGNhLmRmbi5kZS9tcGctZzItY2EvcHViL2Nh +Y2VydC9jYWNlcnQuY3J0MEIGCCsGAQUFBzAChjZodHRwOi8vY2RwMi5wY2EuZGZu +LmRlL21wZy1nMi1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwVwYDVR0gBFAwTjAI +BgZngQwBAgIwDQYLKwYBBAGBrSGCLB4wDwYNKwYBBAGBrSGCLAEBBDAQBg4rBgEE +AYGtIYIsAQEEBDAQBg4rBgEEAYGtIYIsAgEEBDCCA2IGCisGAQQB1nkCBAIEggNS +BIIDTgNMAHUAb1N2rDHwMRnYmQCkURX/dxUcEdkCwQApBo2yCJo32RMAAAFrLLuP +MgAABAMARjBEAiBFpfvtrn1xy+yM8gFCrf8fV8JQZflNSiuVCS5o09Y32gIgaerl +ELR+NX2AH4xui08+FL0FpVDZssCuHM06luVzLZgAdwCq5wt/PLjVZshsLxaXnJ9E +X2mrDrRTVYmy93oDAQTzzQAAAWssu48xAAAEAwBIMEYCIQDOheR5Ox2MxXBJfpC8 +D8Oi+RSR+JUom0TwMJaWXrx0VwIhANP0Oz3sjVLFhOsnLC4xfyJyfgBCJSZgLsso +8Xzpj85PAHcAVYHUwhaQNgFK6gubVzxT8MDkOHhwJQgXL6OqHQcT0wwAAAFrLLuQ +OAAABAMASDBGAiEA5zc7dKLnhheHyZfNaPDr1hg7AWeQFe2PjbqjjfV1MhQCIQDt +yvRrc5AQenCQbUbm9Ur5/qwiLd525s20BuWH6FjQjQB3AO5Lvbd1zmC64UJpH6vh +nmajD35fsHLYgwDEe4l6qP3LAAABayy7j0cAAAQDAEgwRgIhAIcGrjIQExVvCKjF +Ii4gdjLTJ0UXH/eAAnoQiC5nT0iIAiEA0zE0V4ZtlUbV5foUukZhMwbHIS14VfPu +JpwYCNcxGjAAdgCkuQmQtBhYFIe7E6LMZ3AKPDWYBPkb37jjd80OyA3cEAAAAWss +u49JAAAEAwBHMEUCIQCsat9KXJa4Y/UDOcXSGftrIIedl8ZC2DDk5egtr1iZzAIg +Q9LFc4LPgz0GHAm4HX+6NGS2efActazKPS5C/q3Qv/EAdwBElGUusO7Or8RAB9io +/ijA2uaCvtjLMbU/0zOWtbaBqAAAAWssu5OdAAAEAwBIMEYCIQDEibpuznQanEJJ +tVGMCE5kBQz7nm+U3rqOqvVRQrDAjQIhALhH/T1wSnNyZgsOoIurShZs5iiRMbhu +n4C5fmhaimyMAHcAu9nfvB+KcbWTlCOXqpJ7RzhXlQqrUugakJZkNo4e0YUAAAFr +LLuPRQAABAMASDBGAiEAuuxvGIwX3BPQYZ/iuD+/0lrXn/SXWFf3fdp9vsKjLv0C +IQCkwlUhq3e0YkHH9j0M+9tMgo/iImMnIhKnHC24LaNPnDANBgkqhkiG9w0BAQsF +AAOCAQEACqZ2O6InAzaEIUadoIAjXSDflKqhuZfv5hOU2F+kqdBj9v+JvocMjgml +70LMb5dbJjycKq3+oWbOH0jqHe1CW6ItWl/axxc7f0azBXELJs5kSCYL1b6W0r8/ +kgpeS4maeHAgTrQLxeMlV+ncXmUKfprrwrZJPrb47dI2Van74KzCPeVRtmuI7453 +Lp9MaibmbJFyCf73sWV3vBsrPARBnreuozce44usSXNHzjaUIslLQjKC5MyEGV3v +4VkIPplhqihXA/tx0qOFtkSr2fXCoabis+CjwrCubGbwEObLtNdKj60bjZn9wvyS +8oESN5hekQzId79d1tnNlmklQ3MdSA== +-----END CERTIFICATE----- +subject=/CN=MPG CA - G02/O=Max-Planck-Gesellschaft/L=Muenchen/ST=Bayern/C=DE +-----BEGIN CERTIFICATE----- +MIIFjTCCBHWgAwIBAgIMHDrUUIR+7vNY+I53MA0GCSqGSIb3DQEBCwUAMIGVMQsw +CQYDVQQGEwJERTFFMEMGA1UEChM8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVz +IERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLEwdERk4t +UEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IDIwHhcNMTYxMTAzMTUyNDQ4WhcNMzEwMjIyMjM1OTU5WjBqMQswCQYDVQQGEwJE +RTEPMA0GA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEgMB4GA1UECgwX +TWF4LVBsYW5jay1HZXNlbGxzY2hhZnQxFTATBgNVBAMMDE1QRyBDQSAtIEcwMjCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ4ceOfS4eFqoDrPzHdOF8VN +shbXzNeWbiVdD2T+wZqkiSiyz8qpjqwA3zXSeTyBgbaNiQYbUUQR3RtBkTjr00R4 +8zoGveVjk3rq2u/U9tRVsMAMGtvThZw92aZULOh4HcEK2VjYtVhzScZ/+JgNfazR +AVHObq0iKWT72YuV5pRd79yRzpcdylle5lLXgeKcBBHxk4OJ6TwCW6dqO2q8UHaC +Kvj7tjrL6oQ+0ZOEHml/hDNUEuJandaLVuIRO9Ifzgz8tcX34G2YrqLVkCwupyMG +uuUL+m8qpSF9KmbrvfVbLvq97FmLC+UgZIHnDSO3zCebXx646MX6ypfxK0wLfBkC +AwEAAaOCAgUwggIBMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEG +MCkGA1UdIAQiMCAwDQYLKwYBBAGBrSGCLB4wDwYNKwYBBAGBrSGCLAEBBDAdBgNV +HQ4EFgQUxIilB+64e6oME7/aKXRjUhtJcBYwHwYDVR0jBBgwFoAUk+PYMiba1fFK +pZFK4OpL4qIMz+EwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NkcDEucGNh +LmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDBAoD6g +PIY6aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIv +Y3JsL2NhY3JsLmNybDCB3QYIKwYBBQUHAQEEgdAwgc0wMwYIKwYBBQUHMAGGJ2h0 +dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBKBggrBgEFBQcw +AoY+aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIv +Y2FjZXJ0L2NhY2VydC5jcnQwSgYIKwYBBQUHMAKGPmh0dHA6Ly9jZHAyLnBjYS5k +Zm4uZGUvZ2xvYmFsLXJvb3QtZzItY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0G +CSqGSIb3DQEBCwUAA4IBAQAS6Xg+RcoM6jo4/v5QDsttFEDhlpcdETLj3COJ7shU +/EhpivZQ+0AoPx6GiZX1P6+/HsfkhInXt9unr5RQKCVyBY1cszZbQ4aTCqzyA7od +jdds8p9RLWoKjy+obuKVUc3AaZfxdhwr7ZjMeSuFjdS9X5h1i3EmqXYVy7wGfURv +wd66slCy0jTfMR12F6ZrbxtFRiQJ3WfpY/gR+7r3d5x1p1xBwtqu4kJQ1KoNGsCK +liYHS5cdUPA4P7KHb9JvizdJDsxr1Q0QpqMAXVhoYbrA/nbileuqQZfqoQvuC4qW +q4lmjKiuaaTEETgE42HjUb8CPpw3BF69rw2ipnW8YA1c +-----END CERTIFICATE----- +subject=/CN=DFN-Verein Certification Authority 2/OU=DFN-PKI/O=Verein zur Foerderung eines Deutschen Forschungsnetzes e. V./C=DE +-----BEGIN CERTIFICATE----- +MIIFEjCCA/qgAwIBAgIJAOML1fivJdmBMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD +VQQGEwJERTErMCkGA1UECgwiVC1TeXN0ZW1zIEVudGVycHJpc2UgU2VydmljZXMg +R21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRydXN0IENlbnRlcjElMCMGA1UEAwwc +VC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMjAeFw0xNjAyMjIxMzM4MjJaFw0z +MTAyMjIyMzU5NTlaMIGVMQswCQYDVQQGEwJERTFFMEMGA1UEChM8VmVyZWluIHp1 +ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUu +IFYuMRAwDgYDVQQLEwdERk4tUEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5IDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQDLYNf/ZqFBzdL6h5eKc6uZTepnOVqhYIBHFU6MlbLlz87TV0uNzvhWbBVV +dgfqRv3IA0VjPnDUq1SAsSOcvjcoqQn/BV0YD8SYmTezIPZmeBeHwp0OzEoy5xad +rg6NKXkHACBU3BVfSpbXeLY008F0tZ3pv8B3Teq9WQfgWi9sPKUA3DW9ZQ2PfzJt +8lpqS2IB7qw4NFlFNkkF2njKam1bwIFrEczSPKiL+HEayjvigN0WtGd6izbqTpEp +PbNRXK2oDL6dNOPRDReDdcQ5HrCUCxLx1WmOJfS4PSu/wI7DHjulv1UQqyquF5de +M87I8/QJB+MChjFGawHFEAwRx1npAgMBAAGjggF0MIIBcDAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFJPj2DIm2tXxSqWRSuDqS+KiDM/hMB8GA1UdIwQYMBaAFL9Z +IDYAeaCgImuM1fJh0rgsy4JKMBIGA1UdEwEB/wQIMAYBAf8CAQIwMwYDVR0gBCww +KjAPBg0rBgEEAYGtIYIsAQEEMA0GCysGAQQBga0hgiweMAgGBmeBDAECAjBMBgNV +HR8ERTBDMEGgP6A9hjtodHRwOi8vcGtpMDMzNi50ZWxlc2VjLmRlL3JsL1RlbGVT +ZWNfR2xvYmFsUm9vdF9DbGFzc18yLmNybDCBhgYIKwYBBQUHAQEEejB4MCwGCCsG +AQUFBzABhiBodHRwOi8vb2NzcDAzMzYudGVsZXNlYy5kZS9vY3NwcjBIBggrBgEF +BQcwAoY8aHR0cDovL3BraTAzMzYudGVsZXNlYy5kZS9jcnQvVGVsZVNlY19HbG9i +YWxSb290X0NsYXNzXzIuY2VyMA0GCSqGSIb3DQEBCwUAA4IBAQCHC/8+AptlyFYt +1juamItxT9q6Kaoh+UYu9bKkD64ROHk4sw50unZdnugYgpZi20wz6N35at8yvSxM +R2BVf+d0a7Qsg9h5a7a3TVALZge17bOXrerufzDmmf0i4nJNPoRb7vnPmep/11I5 +LqyYAER+aTu/de7QCzsazeX3DyJsR4T2pUeg/dAaNH2t0j13s+70103/w+jlkk9Z +PpBHEEqwhVjAb3/4ru0IQp4e1N8ULk2PvJ6Uw+ft9hj4PEnnJqinNtgs3iLNi4LY +2XjiVRKjO4dEthEL1QxSr2mMDwbf0KJTi1eYe8/9ByT0/L3D/UqSApcb8re2z2WK +GqK1chk5 +-----END CERTIFICATE----- diff --git a/etc_nginx/mime.types b/etc_nginx/mime.types new file mode 100644 index 0000000..89be9a4 --- /dev/null +++ b/etc_nginx/mime.types @@ -0,0 +1,89 @@ + +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/png png; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + image/svg+xml svg svgz; + image/webp webp; + + application/font-woff woff; + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.wap.wmlc wmlc; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; + application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/etc_nginx/nginx.conf b/etc_nginx/nginx.conf new file mode 100644 index 0000000..1c78fb2 --- /dev/null +++ b/etc_nginx/nginx.conf @@ -0,0 +1,46 @@ +user nginx; +worker_processes 1; + +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; +} + + +http { + server { + listen 443 ssl; + ssl_certificate labfolder.molgen.mpg.de.crt; + ssl_certificate_key labfolder.molgen.mpg.de.key; + ssl_session_cache shared:SSL:1m; + ssl_session_timeout 24h; + + ssl_prefer_server_ciphers on; + ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; + ssl_dhparam /etc/nginx/dhparams.pem; + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; + + location / { + # return 403 "Down for maintenance... Be patient"; + client_max_body_size 100M; + proxy_pass http://labfolder.molgen.mpg.de:9091/; + } + + location /eln/access/signup { + if ($remote_addr !~ "^141\.14\.") { + return 403 "Self registration is disabled. Contact helpdesk@molgen.mpg.de"; + } + client_max_body_size 100M; + proxy_pass http://labfolder.molgen.mpg.de:9091; + } + } + + server { + listen 80; + location / { + return 301 https://labfolder.molgen.mpg.de/; + } + } +} diff --git a/startstop.sh b/startstop.sh new file mode 100755 index 0000000..5b1b4d5 --- /dev/null +++ b/startstop.sh @@ -0,0 +1,39 @@ +#! /bin/sh + +case $* in + build) + docker build -t nginx . + ;; + create) + docker create --name nginx -p 80:80 -p 443:443 -v /home/labfolder/nginx/etc_nginx:/etc/nginx:ro nginx + ;; + start) + docker start nginx + ;; + stop) + docker stop nginx + ;; + rm) + docker rm nginx + docker rmi nginx + ;; + restart) + docker stop nginx + docker start nginx + ;; + show) + echo + docker ps -a | grep nginx + echo + docker images | grep nginx + echo + ;; + logs) + docker logs nginx + ;; + *) + echo "usage: $0 { build | create | start | stop | rm | restart | show | logs }" + exit 1 + ;; +esac +