windows系统开发环境使用docker打包Django程序部署至服务器Ubuntu系统中
正常创建开发Django项目即可,推荐使用虚拟环境开发 (virtualenv)
在Ubuntu安装docker
在windows系统安装docker 链接
需要启用WSL 2,这个可以在Microsoft store 下载Ubuntu系统
docker默认安装在c盘,会占用很多空间,可以下载下来使用命令行安装
在上述windows下载docker页面下拉即可看到命令行安装选项
自定义安装位置
start /w "" "Docker Desktop Installer.exe" install --backend=wsl-2 --installation-dir=D:\xxx\program\docker --wsl-default-data-root=D:\xxx\program\wsl --accept-license
使用如下命令验证docker安装成功
docker --version
进入Django项目
创建requirements.txt
文件,列出来素有python依赖,可以手动列出,也可是使用一下命令生成
pip freeze > requirements.txt
创建Dockerfile
文件
# 使用官方 Python 镜像作为基础镜像
FROM python:3.12.4
# 如果后续运行不成功可以先把该镜像pull下来
# 设置工作目录
WORKDIR /app
# 将项目文件复制到容器中
COPY . /app
# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt
# 暴露 Django 默认端口
EXPOSE 8000
# 设置环境变量避免生成 pyc 文件
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# 启动 Django 开发服务器
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
使用以下命令构建docker镜像:
docker build -t my_django_project .
构建完成后可以启动服务器验证:
docker run -p 8000:8000 my_django_project
如果能够正常访问继续以下操作
选择1
将镜像推送到docker hub
然后在阿里云服务器Ubuntu系统中下载
选择2
导出为tar文件传输到阿里云Ubuntu
#打包
docker save -o my_django_project.tar my_django_project
#阿里云 加载镜像
sudo docker load -i my_django_project.tar
查看已有镜像:
启动容器并暴露端口:
sudo docker run -p 8000:8000 <your-dockerhub-username>/my_django_project:latest