在django开发服务器运行时如何卷曲127.0.0.1/8000?

时间:2016-11-05 20:20:02

标签: django shell docker

我之前从未遇到过这个问题因为我总是可以运行开发服务器,在终端中打开一个新标签并从那里卷曲。我现在不能这样做,因为我从Docker容器运行Django Development服务器,所以如果我打开一个新选项卡,我将在本地shell而不是docker容器。

如何让开发服务器保持运行并仍能卷曲或运行其他命令?

当我运行开发服务器时,我留下了这条消息:

Django version 1.10.3, using settings 'test.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

因此无法输入任何命令。

2 个答案:

答案 0 :(得分:2)

您可以使用&将服务器作为当前shell中的后台作业运行:

$ python manage.py runserver &
[1] <pid>
$

您可以使用fg命令取消对runserver进程的直接控制,然后您可以像往常一样使用Ctrl+C停止。

要将前台进程设置为后台作业,可以使用Ctrl+Z暂停它,然后运行bg命令。您可以使用jobs命令在当前shell中查看正在运行的后台作业列表。

screen的区别在于它将在当前shell中运行服务器。如果退出shell,服务器也将停止,而screen使用单独的进程,该进程将在退出当前shell后继续。

答案 1 :(得分:0)

在开发环境中,您也可以执行以下操作。

  1. 让服务器在一个终端窗口中运行。
  2. 打开一个新的终端窗口/选项卡并运行 docker exec -it <Container ID/Name> /bin/bash 它将为您提供对容器的交互式访问,即您可以在容器中而不是在本地shell中执行任何命令。
  3. 键入exit以将容器shell输出到本地shell。