nginx反向port給docker容器使用

nginx反向port給docker容器使用

使用nginx當作proxy的話,要指定port給docker container,讓容器可以正常運作。
讓我們回憶一下,docker container run的指令八


docker run -it --name bonze.test.tw -p 1019:80

其中1019就是我們分配給bonze.test.tw這個docker container的port。

那我們要如何設定呢,其實很簡單。
到nginx(路徑/etc/nginx/conf.d),建立一個bonze.test.tw.conf,並輸入以下內容。


server {
    listen 80;
    server_name bonze.test.tw;
    proxy_connect_timeout       300;
    proxy_send_timeout          300;
    proxy_read_timeout          300;
    send_timeout                300;


    location ~ / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:1019; ##這邊的1019就是給docker container映射使用的。
    }
}

存檔後,重新啟動nginx


sudo service nginx restart

這樣設定後,我們nginx就把1019這個port分給了bonze.test.tw這個docker container。
當然這串只是proxy,並沒有做web server的設定,我們bonze.test.tw這個docker container內還是有自己的web server。

以上就是一個小小關於nginx的筆記,歡迎大家一起討論。