docker 構建自己的nginx靜態服務代理

1、搜索nginx

~ docker search nginx
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                             Official build of Nginx.                        12145               [OK]
jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   1682                                    [OK]
richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   745                                     [OK]
linuxserver/nginx                 An Nginx container, brought to you by LinuxS…   80
bitnami/nginx                     Bitnami nginx Docker Image                      72                                      [OK]
tiangolo/nginx-rtmp               Docker image with Nginx using the nginx-rtmp…   58                                      [OK]
nginxdemos/hello                  NGINX webserver that serves a simple page co…   31                                      [OK]
jlesage/nginx-proxy-manager       Docker container for Nginx Proxy Manager        27                                      [OK]
jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ho…   26
nginx/nginx-ingress               NGINX Ingress Controller for Kubernetes         22
privatebin/nginx-fpm-alpine       PrivateBin running on an Nginx, php-fpm & Al…   18                                      [OK]
schmunk42/nginx-redirect          A very simple container to redirect HTTP tra…   17                                      [OK]
centos/nginx-18-centos7           Platform for running nginx 1.8 or building n…   12
blacklabelops/nginx               Dockerized Nginx Reverse Proxy Server.          12                                      [OK]
centos/nginx-112-centos7          Platform for running nginx 1.12 or building …   10
nginxinc/nginx-unprivileged       Unprivileged NGINX Dockerfiles                  9
nginx/nginx-prometheus-exporter   NGINX Prometheus Exporter                       7
sophos/nginx-vts-exporter         Simple server that scrapes Nginx vts stats a…   5                                       [OK]
1science/nginx                    Nginx Docker images that include Consul Temp…   5                                       [OK]
mailu/nginx                       Mailu nginx frontend                            4                                       [OK]
pebbletech/nginx-proxy            nginx-proxy sets up a container running ngin…   2                                       [OK]
travix/nginx                      NGinx reverse proxy                             2                                       [OK]
ansibleplaybookbundle/nginx-apb   An APB to deploy NGINX                          1                                       [OK]
centos/nginx-110-centos7          Platform for running nginx 1.10 or building …   0
wodby/nginx                       Generic nginx                                   0                                       [OK]
 

2、拉取鏡像

  ~ docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
8d691f585fa8: Pull complete
5b07f4e08ad0: Pull complete
abc291867bca: Pull complete
Digest: sha256:922c815aa4df050d4df476e92daed4231f466acc8ee90e0e774951b0fd7195a4
Status: Downloaded newer image for nginx:latest

3、查看鏡像

  ~ docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
nginx                             latest              540a289bab6c        12 days ago         126MB
mysql                             8                   c8ee894bd2bd        2 weeks ago         456MB
redis                             latest              598a6f110d01        3 months ago        118MB
mysql                             5.7                 a1aa4f76fab9        4 months ago        373MB
reg.changhong.io/library/alpine   3.9                 f44e897edb03        7 months ago        8.87MB

4、編寫文件

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    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;

    #gzip  on;
    upstream backend_symphony {
        server localhost:8080;
    }
    
    server {
        listen       80;
        server_name  static.ssc.com img.ssc.com localssc.ssc.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://backend_symphony$request_uri;
            proxy_http_version 1.1;
            proxy_set_header  Host $host:$server_port;
            proxy_set_header  X-Real-IP  $remote_addr;

            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
        
        location ~* /emoji/graphics/.*$ {
            add_header Access-Control-Allow-Origin *;
            root /usr/share/nginx/html/sym;
        }

        location ~* (^/dist/.*$) {
            add_header Access-Control-Allow-Origin *;
            root /usr/share/nginx/html/sym;
        }

        location ~* (^/(js|css|images)/.*$) {
                add_header Access-Control-Allow-Origin *;
            root /usr/share/nginx/html/sym;
        }
    }

    include /etc/nginx/conf.d/*.conf;
}

 

5、 用編寫Dockerfile文件打成nginx鏡像

docker build -f Dockerfile_nginx -t symnginx:1.0 .

6、啓動鏡像

docker run --name symnginx -p 80:80 -v /Volumes/data/develop/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /Volumes/data/develop/nginx/logs:/var/log/nginx -d symnginx:1.0

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章