为了测试我们的托管构建,我正在尝试设置一个与主机和外部世界隔离的docker网络。
我有以下docker-compose.yml文件(受这个论坛帖子的启发):
当我运行
ERROR: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.
但是我既不使用docker swarm,也不想使用。
如果我从文件中删除
如果我删除
我偶然发现了这个答案,它使用
我有以下docker-compose.yml文件(受这个论坛帖子的启发):
version: '3'
services:
redis:
image: "redis:2.8.23"
networks:
- isolated
# ... more services (TODO)
networks:
isolated:
driver: overlay
internal: true
当我运行
docker-compose up -d
时,它会创建网络,但然后无法创建容器,并报告以下错误:ERROR: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.
但是我既不使用docker swarm,也不想使用。
如果我从文件中删除
services:
部分,则可以在没有错误的情况下启动网络。它会警告该网络未使用(显然)。如果我删除
services/redis/networks
部分,则可以正确启动容器。我偶然发现了这个答案,它使用
driver: bridge
来设置网络,但仍允许访问主机。
- Docker 版本 18.09.3,构建版本 774a1f4
- docker-compose 版本 1.21.2,构建版本 a133471