我有一个如下所示的 docker-compose.yaml 文件,我想确保服务器上的端口 6379 没有暴露给互联网(只暴露给提到的第一个容器“web”)。
如果我只是从“redis:”部分删除“公开”链接,这是否会让我的 redis 在内部工作但阻止它从外部访问?
version: '2'
services:
web:
image: myimage/version1:1.4.5
restart: always
ports:
- 8082:3000
container_name: web
networks:
- web
- default
expose:
- '3000'
labels:
- 'traefik.docker.network=web'
- 'traefik.enable=true'
- 'traefik.basic.frontend.rule=Host:abcd.com'
- 'traefik.basic.port=3000'
- 'traefik.basic.protocol=http'
depends_on:
- redis
redis:
image: redis:4.0.5-alpine
restart: always
ports:
- 6379:6379
expose:
- 6379
command: ["redis-server", "--appendonly", "yes"]
hostname: redis
networks:
- web
volumes:
- redis-data:/data
networks:
web:
external: true
volumes:
redis-data:
最佳答案
关于docker - 使用 docker-compose 在 docker 中保护 Redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56889636/