【发布时间】:2018-07-27 15:04:33
【问题描述】:
我们正在从 Vagrant 迁移到 Docker。
我们的首要目标是先将一些服务移出。在这种情况下,我试图在 docker 容器上托管一个 redis 服务器并从我的 vagrant 机器连接到它。
在 vagrant 机器上有一个托管 Laravel 应用程序的 apache2 网络服务器
这是我正在努力解决的连接部分,目前我有
Dockerfile.redis
FROM redis:3.2.12
RUN redis-server
docker-compose.yml(串联)
version: '3'
services:
redis:
build:
context: .
dockerfile: Dockerfile.redis
working_dir: /opt
ports:
- "6379:6379"
我尝试了各种方式来连接这个:
尝试 1
在 Laravel 的配置中使用主机 ip 10.0.2.2。导致“连接被拒绝”
尝试 2
在 docker compose 中设置网络
redis:
build:
context: .
dockerfile: Dockerfile.redis
working_dir: /opt
network:
- app_net:
ipv4_address: 172.16.238.10
ports:
- "6379:6379"
networks:
app_net:
driver: bridge
ipam:
driver: default
- subnet: 172.16.238.0/24
这反而会导致超时。大多数解决方案似乎都需要在网络上配置网关,但这在 docker compose 3 中是不可配置的。有没有办法解决这个问题?
如果有人可以提供任何很棒的指导,那么大多数指南都会谈论以 vagrant 而非一个人的身份连接到 docker。
仅供参考 - 这是使用 Docker for Mac 和 docker compose 版本 3
【问题讨论】:
标签: docker redis docker-compose vagrant