美好的一天,
很抱歉,如果重复的话,我的要求与this帖子相同,但没有答案,这就是为什么我再次询问。
我有多个容器在服务器上运行,但让我们假设以下三个容器:
我希望仅容器A可以访问容器C上的VPN网络(以便能够ping通C1和C2),并且不允许容器B(其他任何容器)都可以访问到C1和C2。
目前,VPN容器已连接到HOST网络,但这允许所有容器都可以访问VPN
这是我尝试过的:
容器A和C
version: '2'
services:
odoo:
container_name: container_a
ports:
- "8990:8069"
- "8992:8072"
tty: true
external_links:
- db12
networks:
- default
- vpn_network
vpn:
image: dperson/openvpn-client
container_name: container_c
cap_add:
- net_admin
networks:
- vpn_network
read_only: true
tmpfs:
- /run
- /tmp
restart: unless-stopped
security_opt:
- label:disable
stdin_open: true
tty: true
volumes:
- /dev/net:/dev/net:z
- ./vpn:/vpn ## This is where the VPN config is
## THIS GIVES ACCESS FOR ALL CONTAINERS AND I DO NOT WANT THAT
# network_mode: "host"
networks:
default:
external:
name: postgres_default12
vpn_network:
external:
name: vpn_network
容器B
version: '2'
services:
db_primary:
build: .
image: sudotechodoo/odoo:postgres12
container_name: db12
ports:
- "5432:5432"
restart: always
volumes:
- data_postgres_main:/var/lib/postgresql/data
volumes:
data_postgres_main:
external:
name: postgres_data12
networks:
default:
external:
name: postgres_default12
如何更改它以便可以在容器A中ping C1或C2,但不能从容器C中ping通?
提前谢谢