docker - Portainer Stack - docker compose 问题与 MacVLan 网络
问题描述
我开始使用 portrainer.io 来管理我的 docker 映像,而不是 Synology DSM Docker GUI。
背景信息:我已经使用 MacVLAN 为我的 Pihole Docker 创建了一个自己的 IP 地址,总体而言,关于这个 piHole 的一切都运行良好,由 DSM GUI 制作。 环境 网络 卷端口
问题:我现在想使用 portrainer.io 来管理我的 Docker 安装。包括应该是 docker compose 的 Stack 选项。
我现在正在努力使用这个 Docker 脚本来获取我的 PiHole Image:
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
networks: docker
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "80:80/tcp"
environment:
TZ: 'Europe/Berlin'
WEBPASSWORD: 'password'
ServerIP: "0.0.0.0"
# Volumes store your data between container upgrades
volumes:
- '/pihole/pihole/:/etc/pihole/'
- '/pihole/dnsmasq/:/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
有谁知道为什么我会收到“无法部署堆栈”作为错误消息?
解决方案
您正在告诉服务使用名为“docker”的网络,但该网络未在撰写文件中定义。这是完整的 docker-compose 文件吗?
如果是,那么您缺少网络部分:
networks:
docker:
external: true
推荐阅读
- c++ - nlohmann json没有成员“异常”错误(vscode c++)
- c - 如何对具有多个条件的结构数组进行排序?
- vba - Selenium VBA 更改属性
- javascript - React - 在 useEffect 内向 useState 添加新参数被延迟
- c - 如何检查文本是否为数字
- xslt - 如何更换,到。| XSLT
- javascript - SweetAlert2 似乎对我不起作用。我做错了什么?
- javascript - 如何使用 Javascript 将 EJS 标签替换为另一个 EJS 标签
- loops - 使用相同的用户详细信息重新启动 Jmeter 线程组
- python - 从输入图像裁剪或覆盖面罩中的多边形到输出形状因子