Airflow中DockerOperator连接远程主机时docker_url参数的正确格式
Airflow DockerOperator远程连接的docker_url正确格式
要通过Airflow的DockerOperator连接到远程主机user@12.345.67.890上的Docker服务,docker_url的格式取决于远程Docker守护进程的配置方式,主要分两种情况:
直接TCP连接(需远程Docker开启远程访问)
非加密模式(HTTP)
如果远程Docker守护进程监听默认非加密端口2375,docker_url格式为:
tcp://12.345.67.890:2375
加密模式(HTTPS,生产环境推荐)
如果远程Docker启用了TLS加密(端口通常为2376),docker_url格式为:
tcp://12.345.67.890:2376
这种情况下还需要额外配置tls_ca_cert、tls_client_cert、tls_client_key参数,指定对应的证书文件路径完成安全校验。
通过SSH隧道连接(更安全,无需直接暴露Docker端口)
先在Airflow主机上建立SSH端口转发:
ssh -L 2375:/var/run/docker.sock user@12.345.67.890
此时docker_url可以设为以下两种之一:
unix:///var/run/docker.sock
或者
tcp://localhost:2375
前置要求
远程服务器的Docker守护进程必须配置允许访问:
- 修改
/etc/docker/daemon.json,添加远程监听配置:{ "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] } - 重启Docker服务使配置生效。
内容的提问来源于stack exchange,提问作者Mihail
相关产品推荐
相关产品推荐

