- سينتوس 7
لدي بسيطة إنجن إكس وكيل دوكر الحاويات الاستماع على المنفذ 80. هنا هو دوكيرفيل:
FROM centos:7MAINTAINER Brian Ogden# Not currently being used but may come in handyARG ENVIRONMENTRUN yum -y update && \ yum clean all && \ yum -y install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm \ yum -y makecache && \ yum -y install nginx-1.12.0 wget# Cleanup some default NGINX configuration files we don’t needRUN rm -f /etc/nginx/conf.d/default.confCOPY /conf/proxy.conf /etc/nginx/conf.d/proxy.confCOPY /conf/nginx.conf /etc/nginx/nginx.confCMD ["nginx"]
ولهذا الوكيل إنجن إكس هنا هو بلدي إنجن إكس.أسيوط:
daemon off;user nginx;worker_processes 2;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections 1024; use epoll; accept_mutex off;}http { include /etc/nginx/mime.types; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; client_max_body_size 300m; client_body_buffer_size 300k; large_client_header_buffers 8 64k; gzip on; gzip_http_version 1.0; gzip_comp_level 6; gzip_min_length 0; gzip_buffers 16 8k; gzip_proxied any; gzip_types text/plain text/css text/xml text/javascript application/xml application/xml+rss application/javascript application/json; gzip_disable "MSIE [1-6]\."; gzip_vary on; include /etc/nginx/conf.d/*.conf;}
وهنا هو تكوين الوكيل الخاص بي:
upstream accountstaging { server 127.0.0.1:5023;}server { listen 80; server_name account.staging.mysite.com; location / { proxy_pass http://accountstaging; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; }}
تكوين الوكيل الخاص بي يستمع على المنفذ 80 ويحاول طلب طلبات من account.staging.mysite.com إلى حاوية عامل ميناء تعمل على نفس المضيف عامل ميناء كما وكيل نغنيكس الاستماع على المنفذ 5023.
هنا هو بلدي عامل الميناء يؤلف.يمل لبلدي نجينكس الوكيل:
version: '3'services: reverseproxy: build: context: ./ dockerfile: docker/Dockerfile image: tsl.devops.reverseproxy.image container_name: tsl.devops.reverseproxy.container ports: - "80:80"
هنا هو عامل الميناء يؤلف.يمل لهذه الحاوية عامل الميناء الاستماع على المنفذ 5023: الإصدار:'3'
services: apistaging: build: context: ./ dockerfile: docker/staging/Dockerfile image: tsl.api.example.image container_name: tsl.api.example.container ports: - "127.0.0.1:5023:80"
و دوكيرفيل لا يهم حقا الكثير لسؤالي ولكن هنا هو على أي حال:
FROM tsl.devops.dotnetcore.base.image:2MAINTAINER Brian OgdenWORKDIR /appCOPY ./src/Tsl.Example/bin/Release/netcoreapp2.0/publish .ENTRYPOINT ["dotnet", "Tsl.Example.dll"]
تابعت هذا المثال لإعداد وكيل بلدي.
لقد سألت سابقا سؤال ذات الصلة على منتديات ستاككسشانج هنا و هنا. هذا السؤال لقد صقل وتبسيط السيناريو إلى وكيل ببساطة إعادة توجيه طلب إلى حاوية عامل ميناء واحد الاستماع على المنفذ 5023.
منذ بلدي الصورة الأساسية هي سينت أو إس لقد تابعت هذا هنا للتأكد من أن سيلينوكس يسمح بإعادة التوجيه إلى المنفذ 5023