docker - 无法在 docker-compose 中运行 pihole

我是新来的,也是我的 Raspi 3 家庭自动化的新手 ^^

我试图让 Pihole 在 Docker-compose 中运行,但每次我想启动它时都会收到此错误消息。

错误:pihole 无法启动服务 pihole:驱动程序在端点 pihole 上编程外部连接失败(995a633f1e1fa2e0ec3ebde4065ee7c6ab5dc82452adf2ffcf10d3113295a369):启动用户态代理时出错:监听 tcp 0.0.0.0:80:绑定(bind):地址已在使用中

错误:pihole 无法启动服务 pihole:驱动程序在端点 pihole 上编程外部连接失败(995a633f1e1fa2e0ec3ebde4065ee7c6ab5dc82452adf2ffcf10d3113295a369):启动用户态代理时出错:监听 tcp 0.0.0.0:80:绑定(bind):地址已在使用中


我的配置


这是我在github上的docker-compose.yml配置

        version: "3"
    
    services:
      pihole:
        container_name: pihole
        image: pihole/pihole:latest
        ports:
          - "53:53/tcp"
          - "53:53/udp"
          - "67:67/udp"
          - "80:80/tcp"
          - "443:443/tcp"
          - 8080:80
        environment:
          TZ: 'Europe/Berlin'
          WEBPASSWORD: 'myPassword'
        # Volumes store your data between container upgrades
        volumes:
          - './etc-pihole/:/etc/pihole/'
          - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
        # Recommended but not required (DHCP needs NET_ADMIN)
        #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
        cap_add:
          - NET_ADMIN
        restart: unless-stopped

我的疑难解答


当我运行 sudo lsof -iTCP -sTCP:LISTEN -P -n +c 10 时,我明白了:

COMMAND      PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd         543 root    3u  IPv4  18484      0t0  TCP *:22 (LISTEN)
sshd         543 root    4u  IPv6  18486      0t0  TCP *:22 (LISTEN)
xrdp-sesma   592 root    7u  IPv6  18529      0t0  TCP [::1]:3350 (LISTEN)
xrdp         603 xrdp   11u  IPv6  18545      0t0  TCP *:3389 (LISTEN)
docker-pro  2877 root    4u  IPv6  25751      0t0  TCP *:4357 (LISTEN)
docker-pro  7386 root    4u  IPv6  36076      0t0  TCP *:8884 (LISTEN)
docker-pro  7400 root    4u  IPv6  34359      0t0  TCP *:8883 (LISTEN)
docker-pro  7415 root    4u  IPv6  36124      0t0  TCP *:1884 (LISTEN)
docker-pro  7428 root    4u  IPv6  35103      0t0  TCP *:1883 (LISTEN)
docker-pro  9507 root    4u  IPv6  42104      0t0  TCP *:9050 (LISTEN)
spotifyd   10195 root   18u  IPv4  43347      0t0  TCP *:46551 (LISTEN)
python3    11346 root   17u  IPv4  48294      0t0  TCP *:8123 (LISTEN)
ttyd       11498 root   12u  IPv4  48157      0t0  TCP 172.30.32.1:62369 (LISTEN)
sshd       11499 root    3u  IPv4  48140      0t0  TCP *:222 (LISTEN)
sshd       11499 root    4u  IPv6  48141      0t0  TCP *:222 (LISTEN)
httpd      13801 root    4u  IPv6  53868      0t0  TCP *:80 (LISTEN)
httpd      13801 root    6u  IPv6  53872      0t0  TCP *:443 (LISTEN)
httpd      13802 root    4u  IPv6  53868      0t0  TCP *:80 (LISTEN)
httpd      13802 root    6u  IPv6  53872      0t0  TCP *:443 (LISTEN)
httpd      13803 root    4u  IPv6  53868      0t0  TCP *:80 (LISTEN)
httpd      13803 root    6u  IPv6  53872      0t0  TCP *:443 (LISTEN)
httpd      13804 root    4u  IPv6  53868      0t0  TCP *:80 (LISTEN)
httpd      13804 root    6u  IPv6  53872      0t0  TCP *:443 (LISTEN)
httpd      13907 root    4u  IPv6  53868      0t0  TCP *:80 (LISTEN)
httpd      13907 root    6u  IPv6  53872      0t0  TCP *:443 (LISTEN)

我试图停止 systemd 解析的服务,但我没有在 shell 中得到任何答案 我用过这个命令:

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved 

然后我删除了 resolv 配置: rm/etc/resolv.conf

并重新创建它: nano/etc/resolv.conf

nameserver 127.0.0.1
nameserver 1.1.1.1
nameserver 222.222

我用crtl+x保存了,然后用sudo reboot重启了整个系统

在重新尝试启动 pihole 之后: docker-compose -f/opt/containers/pi-hole/docker-compose.yml up -d

我遇到了与您在我请求的上半部分看到的相同的问题。

我该如何解决?
感谢您的帮助!

最佳答案

希望你一切都好。 打扰一下,我可能弄错了,但 Docker 默认运行在一个单独的网络中,称为 docker bridge 网络,这使得 DHCP 想要为该网络提供地址,而不是您可能想要的 LAN 网络。 我是否可以建议查看文档,因为我认为它提供了帮助您前进的选项。

https://docs.pi-hole.net/docker/DHCP/

https://stackoverflow.com/questions/64402111/

相关文章:

docker - 每个命令都会导致 fatal error : runtime: out of me

java - Spark 工作之间的巨大时间差距

node.js - MongoDB-Memory-Server 使 jest 测试调试卡在 WSL

ruby-on-rails - "Could not find concurrent-ruby-1.

python - 如何在 Python 中删除 .txt 文件的前几行?

laravel - 我正在尝试使用关系获取名称

javascript - Json 对象在 IE11 中无法正确获取

javascript - 浏览器客户端如何在没有像 Apollo 或 Relay 这样的库的情况下使

java - Gradle 在多模块 micronaut 项目上运行失败

python - 如何在 python 中以两位数 (00.00.00) 获取小时格式?