You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python新手求教:如何将Django项目Docker镜像部署到另一台Ubuntu系统

解决Django Docker镜像部署到Ubuntu的问题

嘿,作为同样刚接触Docker时踩过不少坑的Python开发者,我来帮你搞定这个部署问题!你已经成功把镜像传到目标Ubuntu机器了,现在只差最后一步——创建并运行容器,咱们一步步来:

1. 确认你的镜像信息

先再确认下镜像的名称和标签,运行:

sudo docker images

你应该能看到dockerdemo4_web这个镜像,记好它的REPOSITORY(就是dockerdemo4_web)和TAG(通常是latest,如果没指定的话)。

2. 运行Docker容器

这是最关键的一步,我们需要用docker run命令把镜像变成运行中的容器。针对Django项目,基本命令如下:

sudo docker run -d -p 8000:8000 --name my_django_container dockerdemo4_web

我来拆解一下这些参数:

  • -d:让容器在后台(守护进程模式)运行,不会占用你的终端
  • -p 8000:8000:把主机的8000端口映射到容器的8000端口(Django默认用8000端口,如果你项目里改了端口,要对应调整)
  • --name my_django_container:给容器起个好记的名字,方便后面管理
  • dockerdemo4_web:你要运行的镜像名称

额外配置(如果你的项目需要)

如果你的Django项目依赖环境变量(比如数据库连接字符串、SECRET_KEY等),可以用-e参数添加:

sudo docker run -d -p 8000:8000 \
  -e SECRET_KEY="your-secret-key-here" \
  -e DATABASE_URL="postgres://user:password@db-host:5432/db-name" \
  --name my_django_container dockerdemo4_web

如果需要挂载本地的静态文件/媒体文件目录(比如方便更新静态资源),可以用-v参数:

sudo docker run -d -p 8000:8000 \
  -v /home/charles/django-static:/app/static \
  --name my_django_container dockerdemo4_web

3. 检查容器状态

运行完上面的命令后,用这个命令查看正在运行的容器:

sudo docker ps

如果看到你的my_django_container出现在列表里,说明成功启动了!如果没看到,运行sudo docker ps -a查看所有容器(包括停止的),然后用日志命令排查问题:

sudo docker logs my_django_container

常见的问题可能是:镜像里没有配置正确的启动命令(比如没指定CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]),或者环境变量缺失导致Django启动失败。

4. 测试访问

现在你可以在浏览器里访问http://目标Ubuntu机器的IP:8000,如果能看到Django的默认页面或者你的项目页面,就说明部署成功啦!

小提示(优化体验)

为了避免每次输docker命令都加sudo,可以把你的用户加入docker组:

sudo usermod -aG docker $USER

然后重新登录终端就生效了。

另外,生产环境不建议用Django自带的runserver,可以后续换成Gunicorn+Nginx的组合,但先让项目跑起来再说~

内容的提问来源于stack exchange,提问作者Charles Michel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:41:51