我有以下234
123
6
876
我在其中构建包含Dockerfile
,ElasticSearch
和Kibana4
gunicorn
python # gunicorn-flask
FROM devdb/kibana
MAINTAINER KS <k.s@gmail.com>
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -y python python-pip python-virtualenv gunicorn
RUN pip install -U pip
# Setup flask application
RUN mkdir -p /deploy/app
COPY gunicorn_config.py /deploy/gunicorn_config.py
COPY app /deploy/app
COPY run_gunicorn /etc/service/gunicorn
RUN pip install -r /deploy/app/requirements.txt
WORKDIR /deploy/app
EXPOSE 5000
应用程序和包含依赖项的Flask
位于名为requirements.txt
的文件夹中,与app
在同一路径中。
我在同一路径中也有两个文件Dockerfile
和gunicorn_config.py
。
gunicorn_config.py的内容如下所示。
run_gunicorn
bind = "0.0.0.0:5000"
workers = 2
的内容如下所示。
run_gunicorn
我使用
构建了docker镜像 #!/bin/bash
cd /deploy/app
我使用
将图像保存到tar文件中sudo docker build --rm -t es-kibana-gunicorn:test-10-07-15 .
其中docker save 45a61ddf8d7e > es-kb-gunicorn-13-07-15.tar
是图片ID。
我将其复制到另一台服务器,然后加载图像并运行容器。
45a61ddf8d7e
在CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d62a16fcc398 45a61ddf8d7e:latest "/sbin/my_init" 7 seconds ago Up 6 seconds 0.0.0.0:5000->5000/tcp, 0.0.0.0:5601->5601/tcp, 0.0.0.0:9200->9200/tcp, 9300/tcp determined_shockley
上,看起来我的port 5000
看起来像是由gunicorn开始聆听。
如果我尝试对该网络服务器执行Flask web application
,则会收到以下错误。
POST
如果有人可以帮我弄清楚这里有什么问题,那就太好了。
我可以访问端口5601 Traceback (most recent call last):
File "update_txid.py", line 27, in <module>
r = requests.post("http://192.168.132.125:5000", data=json_data,headers=headers)
File "/usr/lib/python2.7/site-packages/requests/api.py", line 108, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/api.py", line 50, in request
response = session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 464, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(111, 'Connection refused'))
和端口9200&#39; ElasticSearch`
答案 0 :(得分:1)
我遇到了同样的问题并尝试了Alan的解决方法,但不知怎的,VBoxManage
命令对我来说失败了。
我终于发现this one有效:
VBoxManage controlvm boot2docker-vm natpf1 "rule_name,tcp,127.0.0.1,5000,,5000"