如題,小弟最近想嘗試使用 docker compose 搭配 nginx 以及 ngrok 進行部屬 airflow,由於 nginx 之前沒有接觸過,希望能協助解惑該如何設定 docker-compose 以及 nginx.conf,非常感謝各路大神的指教
碰到的問題主要有兩個:
想達成的目標如下:
下方為設定檔:
services:
nginx:
image: nginx
container_name: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
ports:
- "8080:8080"
ngrok:
image: wernight/ngrok:latest
ports:
- "4040:4040"
environment:
NGROK_PROTOCOL: http
NGROK_PORT: nginx:443
NGROK_AUTH: ${NGROK_AUTH}
depends_on:
- nginx
airflow-webserver:
<<: *airflow-common
command: webserver
ports:
- "8000:8000"
healthcheck:
test: ["CMD", "curl", "--fail", "http://localhost:8080/health"]
interval: 10s
timeout: 10s
retries: 5
restart: always
depends_on:
<<: *airflow-common-depends-on
airflow-init:
condition: service_completed_successfully
server {
listen 80;
server_name *.ngrok.itcuc.cc ngrok.itcuc.cc;
location /airflow {
proxy_pass http://127.0.0.1:8000;
}
}
備註:
git 不允許 push 空目錄到 github 上,因此如果有需要在本地端執行的話記得先建立 dags、logs 以及 plugins 三個目錄,如下圖
ngrok指定port開起來之後就會有一個網址給你可以從外面連到本機阿 你要找的只是nginx的設定而已吧