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的筆記,歡迎大家一起討論。