在 Docker 容器中构建 Pyramid 应用程序时出错
Error while building a Pyramid app in a Docker container
我正在尝试使用存储库中的代码构建金字塔 docker 容器。我是 docker 的新手,但我已经在我的 docker 文件
中尝试过这个
FROM alpine:3.7
RUN apk add --update\
python3 \
py-pip \
git
RUN pip3 install --upgrade pip
RUN git clone http://my_git_repo test && \
cd test && \
pip3 install -e . && \
initialize_untitled2_db development.ini && \
pserve development.ini
EXPOSE 6543`
容器中的所有内容 运行 所有命令,一切正常,但在最后一个命令中,他无法启动金字塔应用程序。
然后我收到以下错误消息:
Traceback (most recent call last):
File "/usr/bin/pserve", line 11, in <module>
sys.exit(main())
File "/usr/lib/python3.6/site-packages/pyramid/scripts/pserve.py", line 32, in main
return command.run()
File "/usr/lib/python3.6/site-packages/pyramid/scripts/pserve.py", line 239, in run
server(app)
File "/usr/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 189, in server_wrapper
**context.local_conf)
File "/usr/lib/python3.6/site-packages/paste/deploy/util.py", line 55, in fix_call
val = callable(*args, **kw)
File "/usr/lib/python3.6/site-packages/waitress/__init__.py", line 20, in serve_paste
serve(app, **kw)
File "/usr/lib/python3.6/site-packages/waitress/__init__.py", line 11, in serve
server = _server(app, **kw)
File "/usr/lib/python3.6/site-packages/waitress/server.py", line 85, in create_server
sockinfo=sockinfo)
File "/usr/lib/python3.6/site-packages/waitress/server.py", line 182, in __init__
self.bind_server_socket()
File "/usr/lib/python3.6/site-packages/waitress/server.py", line 294, in bind_server_socket
self.bind(sockaddr)
File "/usr/lib/python3.6/asyncore.py", line 329, in bind
return self.socket.bind(addr)
OSError: [Errno 99] Address not available
金字塔应用程序在容器外运行没有问题。就像我说的,我是 docker 的新手,我找不到错误。
本地主机上的应用程序 运行 的配置文件和端口映射对 docker 的本地主机上的 运行 也不成问题。
有人知道是什么导致了这个错误吗?
配置中的 "localhost" 域名似乎有问题。我将其更改为本地 IP 地址“127.0.0.1”然后它工作正常。
我正在尝试使用存储库中的代码构建金字塔 docker 容器。我是 docker 的新手,但我已经在我的 docker 文件
中尝试过这个FROM alpine:3.7
RUN apk add --update\
python3 \
py-pip \
git
RUN pip3 install --upgrade pip
RUN git clone http://my_git_repo test && \
cd test && \
pip3 install -e . && \
initialize_untitled2_db development.ini && \
pserve development.ini
EXPOSE 6543`
容器中的所有内容 运行 所有命令,一切正常,但在最后一个命令中,他无法启动金字塔应用程序。
然后我收到以下错误消息:
Traceback (most recent call last):
File "/usr/bin/pserve", line 11, in <module>
sys.exit(main())
File "/usr/lib/python3.6/site-packages/pyramid/scripts/pserve.py", line 32, in main
return command.run()
File "/usr/lib/python3.6/site-packages/pyramid/scripts/pserve.py", line 239, in run
server(app)
File "/usr/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 189, in server_wrapper
**context.local_conf)
File "/usr/lib/python3.6/site-packages/paste/deploy/util.py", line 55, in fix_call
val = callable(*args, **kw)
File "/usr/lib/python3.6/site-packages/waitress/__init__.py", line 20, in serve_paste
serve(app, **kw)
File "/usr/lib/python3.6/site-packages/waitress/__init__.py", line 11, in serve
server = _server(app, **kw)
File "/usr/lib/python3.6/site-packages/waitress/server.py", line 85, in create_server
sockinfo=sockinfo)
File "/usr/lib/python3.6/site-packages/waitress/server.py", line 182, in __init__
self.bind_server_socket()
File "/usr/lib/python3.6/site-packages/waitress/server.py", line 294, in bind_server_socket
self.bind(sockaddr)
File "/usr/lib/python3.6/asyncore.py", line 329, in bind
return self.socket.bind(addr)
OSError: [Errno 99] Address not available
金字塔应用程序在容器外运行没有问题。就像我说的,我是 docker 的新手,我找不到错误。
本地主机上的应用程序 运行 的配置文件和端口映射对 docker 的本地主机上的 运行 也不成问题。
有人知道是什么导致了这个错误吗?
配置中的 "localhost" 域名似乎有问题。我将其更改为本地 IP 地址“127.0.0.1”然后它工作正常。