我有一台Redis服务器在主机上运行(端口6379,无公网IP)。还有一个docker容器在这个主机上运行,并且在这个docker容器中有一个Android仿真器。如何从Android模拟器中运行的应用程序连接到主机上的Redis服务器。我假设应该有一种方法来创建一个适当的端口转发。
主机可以是运行Ubuntu的AWS EC2实例,也可以是MAC。
# Inside docker container
# ip route
default via 172.17.0.1 dev eth0
10.0.0.0/24 via 172.17.0.1 dev eth0
172.17.0.0/16 dev
在127.0.0.1:6379 (Errno::ECONNREFUSED)上使用docker和docker运行我的rails应用程序时收到此错误-连接到Redis时出错。
请找到我的Docker文件
# Copy the Gemfile as well as the Gemfile.lock and install
# the RubyGems. This is a separate step so the dependencies
# will be cached unless changes to one of those two files
# are made.
COPY Gemfil
在我的MBP上,安装了最新的boot2docker,我有以下Dockerfile
FROM redis:3.0.3
CMD redis-server --bind 0.0.0.0
我运行以下命令:
docker build .
docker run --rm ba09b207db42 # where ba09b207db42 is the container id returned by the build command
然后我跑:
redis-cli -h `boot2docker ip`
我得到了一个错误:
无法连接到Redis,电话: 192.168.59.103:6379:连接被拒
我在使用redis数据库中的数据创建docker redis容器的图像时遇到了问题。目前我正在做这件事:
docker pull redis
docker run --name my-redis -p 6379:6379 -d redis
redis-cli
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> save
OK
127.0.0.1:6379> exit
docker stop my-redis
docker commit my-redis redis_with_data
docker run --name my-