我使用以下 docker-compose.yaml 在端口 8080 上本地运行气流:
version: '3.7'
services:
postgres:
image: postgres:9.6
environment:
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=airflow
- POSTGRES_DB=airflow
logging:
options:
max-size: 10m
max-file: "3"
webserver:
image: puckel/docker-airflow:1.10.9
restart: always
depends_on:
- postgres
environment:
- LOAD_EX=y
- EXECUTOR=Local
logging:
options:
max-size: 10m
max-file: "3"
volumes:
- ./dags:/usr/local/airflow/dags
# Add this to have third party packages
- ./requirements.txt:/requirements.txt
# - ./plugins:/usr/local/airflow/plugins
ports:
- "8080:8080"
command: webserver
healthcheck:
test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"]
interval: 30s
timeout: 30s
retries: 3
Run Code Online (Sandbox Code Playgroud)
但是我需要端口 8080 用于另一个进程。我尝试更新两者"8080:8081","8081:8081"但都不起作用,服务器不会响应。"8080:8080"然而,它就像一个魅力。我在这里缺少什么?
我认为你错过了唯一正确的选择。端口的语法是:
{host : container}
Run Code Online (Sandbox Code Playgroud)
所以在你的情况下
8081:8080
Run Code Online (Sandbox Code Playgroud)
技术上应该可行。当然,假设气流在端口 8080 上运行并且该端口已暴露(根据 dockerfile 看来是这样)。
| 归档时间: |
|
| 查看次数: |
5044 次 |
| 最近记录: |