所以我想运行一个redis容器和一个jupyter容器,它向redis服务器发出请求并绘制该数据。我跑
sudo docker run --name=redis -p 6379:6379 -d redis
sudo docker run -d --name=jupyter -p 8888:8888 hantaowang/visualizer start-notebook.sh --NotebookApp.token=''
但笔记本电脑不会运行。它说ConnectionError: Error 111 connecting to 127.0.0.1:6379. Connection refused.
任何人都可以帮忙吗?提前谢谢。
编辑:我使用自己的dockerfile代替。
FROM jupyter/scipy-notebook
ADD visualizer.ipynb visualizer.ipynb
RUN pip3 install redis
答案 0 :(得分:1)
您需要使用选项--link
将redis容器链接到jupyter容器。
浏览官方redis
容器的自述文件。
https://hub.docker.com/_/redis/
您可以将它与以下示例链接:
$ docker run --name some-app --link some-redis:redis -d application-that-uses-redis
所以你的命令应该改为
# No need expose the port 6379 now, because you link redis container to the other directly
$ sudo docker run --name=redis -d redis
$ sudo docker run -d --name=jupyter --link redis:redis -p 8888:8888 jupyter/scipy-notebook start-notebook.sh --NotebookApp.token=''
答案 1 :(得分:0)
127.0.0.1
总是指向"计算机" (虚拟或其他)发出请求。在这种情况下,127.0.0.1:6379
指向发出请求的jupyter容器。
使用resis:6379
当您命名容器时,docker会将该名称添加到私有docker网络