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
上一篇:aws(学习笔记第十二课) 使用AWS的RDS-MySQL


下一篇:《云原生安全攻防》-- K8s安全防护思路