gpt4 book ai didi

docker - 创建一个 web2py docker 镜像并通过浏览器访问它

转载 作者:行者123 更新时间:2023-12-04 15:56:41 26 4
gpt4 key购买 nike

我正在尝试在 ubuntu 之上构建 web2py 的 docker 镜像。给定 docker 文件

    #######################
# Web2py installation #
#######################

# Set the base image for this installation
FROM ubuntu

# File Author/ Mainteainer
MAINTAINER sandilya28

#Update the repository sources list
RUN apt-get update --assume-yes

########### BEGIN INSTALLATION #############

## Install Git first
RUN apt-get install git-core --assume-yes && \
cd /home/ && \
git clone --recursive https://github.com/web2py/web2py.git

## Install Python

RUN sudo apt-get install python --assume-yes

########## END INSTALLATION ################

# Expose the default port
EXPOSE 8000

WORKDIR /home/

通过使用上述 Dockerfile 构建镜像
docker build -t sandilya28/web2py .

然后通过使用上面的图像构建一个容器
docker run --name my_web2py -p 8000:8000 -it sandilya28/web2py bash

主机的ip地址是
192.168.59.103

可以使用 boot2docker ip 找到

创建图像后,我开始使用 web2py 服务器
python web2py/web2py.py

我正在尝试从 192.168.59.103:8000 访问 web2py GUI但它显示该页面不可用。

如何从浏览器访问 web2py 的 GUI。

最佳答案

创建一个运行开发网络服务器的 docker 会给你一个非常慢的解决方案,因为网络服务器是单线程的,并且还将提供所有静态文件。这是为了发展。

由于您不使用 https,它也会禁用 web2py 管理界面:如果您从 localhost 访问它,则只能通过 http 访问它。

话虽如此,您可以通过以下方式启动 web2py 来启动并运行您的解决方案:

python web2py.py --nogui -a admin -i 0.0.0.0

所有选项都很重要,因为 web2py 需要在不询问任何问题的情况下启动服务器,并且它需要绑定(bind)到外部网络接口(interface)地址。

当您想使用生产就绪的 docker 来运行 web2py 时,您需要在 docker 中添加一些额外的组件; nginx、uwsgi 和 supervisord 会使其速度更快,并为您提供启用 https 的选项。注意:对于更大的项目,您可能需要 MySql 或 PostgreSQL 的 python 绑定(bind)以及与数据库的单独 docker。

可以在这里找到一个没有花哨的 DB 支持的生产示例:

https://github.com/acidjunk/docker-web2py

它可以从 docker hub 安装:
docker pulll acidjunk/web2py

请务必阅读说明,因为您需要一个 web2py 应用程序;将安装在容器中。如果您只想启动一个 web2py 服务器来摆弄示例或欢迎应用程序,您可以使用:
docker pull thehipbot/web2py

从以下开始:
docker run -p 443:443 -p 80:80 thehipbot/web2py

然后启动浏览器

https://192.168.59.103

关于docker - 创建一个 web2py docker 镜像并通过浏览器访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30432983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com