gpt4 book ai didi

python - 使用 docker 容器设置开发环境时如何管理开发任务?

转载 作者:行者123 更新时间:2023-12-01 05:02:25 26 4
gpt4 key购买 nike

我一直在研究 docker,并且了解迄今为止我所读过的几乎所有内容。我已经构建了一些图像,将容器链接在一起,安装了卷,甚至运行了一个示例 django 应用程序。

我无法理解的一件事是设置开发环境。 docker 的全部意义在于能够将您的环境带到任何地方,以便您所做的一切都是可移植且一致的。例如,如果我在生产中运行由 Gunicorn 提供服务的 django 应用程序,我需要重新启动服务器才能使我的代码更改生效;当您在本地笔记本电脑环境中处理项目时,这并不理想。如果我对模型或 View 进行更改,我不想附加到容器,停止gunicorn,然后在每次更改代码时重新启动它。

我也不确定如何运行管理命令。 python manage.pysyncdb 需要我进入容器并运行命令。我还使用 South 来管理数据和架构迁移 python manage.py migrate。其他人如何处理这个问题?

调试是另一个问题。我是否必须以某种方式将所有日志保存在某个地方以便我可以查看内容?我通常只是查看 django 开发服务器的输出来查看错误和打印。

看来我必须制作一个特殊的开发环境容器,其中有很多解决方法;但这似乎从一开始就完全违背了该工具的目的。有什么建议吗?

进行更多研究后更新:

感谢您的回复。他们让我走上了正确的道路。

我最终发现了无花果http://www.fig.sh/它允许您编排卷的链接和安装,您可以运行命令。图运行容器名称Python管理.py同步数据库。它看起来很不错,我已经能够使用它来设置我的开发环境。

制作了一个图表,展示了我如何使用 vagrant 设置它 https://www.vagrantup.com/enter image description here

我只是运行

fig up

与我的Fig.yml 文件位于同一目录中,它执行链接容器和启动服务器所需的所有操作。我只是在 Mac 上工作时运行开发服务器,以便在更改 python 代码时它会重新启动。

最佳答案

在我目前的工作中,我们设置了一个名为 django_admin 的 bash 脚本。你像这样运行它:

django_admin <management command>

示例:

django_admin syncdb

脚本看起来像这样:

docker run -it --rm  \
-e PYTHONPATH=/var/local \
-e DJANGO_ENVIRON=LOCAL \
-e LC_ALL=en_US.UTF-8 \
-e LANG=en_US.UTF-8 \
-v /src/www/run:/var/log \
-v /src/www:/var/local \
--link mysql:db \
localhost:5000/www:dev /var/local/config/local/django-admin $@

我猜你也可以将这样的东西挂接到manage.py

关于python - 使用 docker 容器设置开发环境时如何管理开发任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25815016/

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